2020年春《数据库原理》考试复习题(16)
发布时间:2021-06-06
发布时间:2021-06-06
借书人(借书证号,姓名,单位)
出版社(出版社名,邮编,地址,电话,E-mail)
借阅(书号,借书证号,借书日期,还书日期)
4、假设“学生—课程”数据库中包含学生表、课程表、学生选课表3个表,分别是:
学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
学号(Sno),姓名(Sname),性别(Ssex),年龄(Sage),系(Sdept),Sno为主码。
课程表:Course(Cno,Cname,Cpno,Ccredit)
课程号(Cno),课程名(Cname),前序课号(Cpno),学分(Ccredit),Cno为主码。
学生选课表:SC(Sno,Cno,Grade)
学号(Sno),课程号(Cno),成绩(Grade),主码为(Sno,Cno)。
(1)、针对“学生—课程”数据库,查询数学系中比信息系某一学生年龄小的学生姓名和年龄。SELECT Sname Sage
FROM Student
WHERE Sdept=’数学系’ AND Sage<
ANY (SELECT Sage
FROM Student
WHERE S dept=’信息系’);
(2)、查询所有选修了课程的学生姓名。
SELECT Sname
FROM Student
WHERE EXISTS
(SELECT *
FROM SC
WHERE Sno = Student.Sno);
(3)、查询选修了全部课程的学生姓名。
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Course
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno = Stuent.Sno AND Cno = o));
(4)、查询至少选修了学生20190304002选修的全部课程的学生学号。
SELECT DISTINCT Sno
FROM SC X
WHERE NOT EXISTS
(SELECT *
FROM SC Y
WHERE Y.Sno = ‘20190304002’ AND NOT EXISTS
(SELECT *