实验目的:
1.掌握投影查询。
2.掌握选择查询。
实验内容:
一、用数据导入的方式生成jxgl数据库中三张表:
● 学生表Student,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,
记作:Student(Sno,Sname,Ssex,Sage,Sdept)
Student:
Sno | Sname | Sage | Ssex | Sdept |
98001 | 钱横 | 18 | 男 | CS |
98002 | 王林 | 19 | 女 | CS |
98003 | 李民 | 20 | 男 | IS |
98004 | 赵三 | 16 | 女 | MA |
98005 | 欧阳勇 | 19 | 男 | MA |
98019 | 李四 | 18 | 男 | IS |
● 课程表Course,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit)
Course:
Cno | Cname | Cpno | Ccredit |
1 | 数据库系统 | 5 | 4 |
2 | 数学分析 | NULL | 2 |
3 | 信息系统导论 | 1 | 3 |
4 | 操作系统原理 | 6 | 3 |
5 | 数据结构 | 7 | 4 |
6 | 数据处理基础 | NULL | 4 |
7 | C语言 | 6 | 3 |
● 学生SC,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:Sc(Sno,Cno,Grade)
Sc:
Sno | Cno | Grade |
98001 | 1 | 87 |
98001 | 2 | 67 |
98001 | 3 | 90 |
98002 | 2 | 95 |
98002 | 3 | 88 |
98004 | 2 | Null |
二、对JXGL数据库进行查询。
1.查询全体学生的姓名、学号、所在系。
SELECT Sname,Sno,Sdept
FROM Student
2.查全体学生的姓名及其出生年份。
SELECT 姓名=Sname,出生年份=2024-Sage
FROM Student
3.查询全体学生姓名、出生年份和所在系,要求用小写字母表示所有系名。
SELECT 姓名=Sname,出生年份=2024-Sage,所在系=lower(sdept)
FROM Student
4.查询所有年龄在20岁以下的学生姓名及其年龄。
SELECT Sname,Sage
FROM Student
WHERE Sage<20
5.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23
6.查询年龄不在20~23岁之间的学生姓名、系别和年龄。
SELECT Sname,Sdept,Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23
7.查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。
SELECT Sname,Ssex
FROM Student
WHERE Sdept IN ('IS','MA','CS')
8.查询所有姓刘学生的姓名、学号和性别。
SELECT Sname,Sno,Ssex
FROM Student
WHERE Sname LIKE'刘%'
9.查询姓"欧阳"且全名为三个汉字的学生的姓名。
SELECT Sname
FROM Student
WHERE Sname LIKE'欧阳_'
10.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。
SELECT Sno,Cno
FROM Sc
WHERE Grade IS NULL
技术小白记录学习过程,有错误或不解的地方请指出,如果这篇文章对你有所帮助,请点点赞收藏+关注 谢谢支持 !!!