数据库系统概论实验指导书 (4)

寂寂无言 分享 2020-06-22 下载文档

GO 4. 查询与学生张建国同岁的所有学生的学号、姓名和系别。

/*方法一*/ USE jiaoxuedb SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业 FROM Student WHERE Age=ANY GO /*方法二*/ USE jiaoxuedb SELECT s2.Sno,s2.Sname,s2.Dept FROM Student s1, Student s2 WHERE s1.age=s2.age AND s1.Sname='张建国' AND s2.Sname <> '张建国'

(SELECT Age FROM Student WHERE Sname='张建国') AND Sname <> '张建国' ORDER BY Age DESC 5. 查询选修了2门以上课程的学生名单。

USE jiaoxuedb SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业 FROM Student WHERE Sno=ANY GO (SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) >=2) 6. 查询至少有一门与“张建国”选课相同的学生的姓名、课程名和系别。

USE jiaoxuedb SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业 FROM Student WHERE Sno=ANY (SELECT Sno FROM SC WHERE Cno=ANY (SELECT Cno FROM SC WHERE Sno=’991103’)) AND Sname <> '张建国' GO 7. 查询成绩比该课程平均成绩高的学生的成绩表。

/*方法一*/ USE jiaoxuedb SELECT Sno AS 学号,Sname AS 姓名,Age AS 年龄,Dept AS 专业 FROM Student WHERE Sno=ANY GO /*方法二*/ SELECT * FROM SC sc1 WHERE Score > GO (SELECT AVG(Score) FROM SC sc2) AND sc1.Cno=sc2.Cno; (SELECT Sno FROM SC x WHERE Score >= (SELECT AVG(Score) FROM SC y WHERE y.Sno=x.Sno)); 8. 查询选修课号为01001课程且成绩高于课程01002学生的姓名、此两门课程的k

而成名和成绩。

/*方法一*/ USE jiaoxuedb SELECT Sname,Cname,Score FROM Student ,SC,Course WHERE Student.Sno= GO /*方法二*/ USE jiaoxuedb SELECT Sname,Cname,Score FROM Student ,SC,Course WHERE Student.Sno= (SELECT s1.Sno FROM SC s1,SC s2 WHERE s1.Cno='01001' AND s2.Cno='01002' AND s1.Score>s2.Score AND AND SC.Sno=Student.Sno AND Course.Cno=SC.Cno s1.Sno=s2.Sno) GO (SELECT Sno FROM SC x WHERE Score >= (SELECT AVG(Score) FROM SC y WHERE y.Sno=x.Sno AND x.Cno='01001' AND y.Cno='01002') AND SC.Sno=Student.Sno AND Course.Cno=SC.Cno) 9. 查询所有未修01001号课程的学生名单。

USE jiaoxuedb SELECT Student.Sno,Sname FROM Student WHERE Student.Sno IN GO

(SELECT s1.Sno FROM SC s1 WHERE Sno NOT IN (SELECT s2.Sno FROM SC s2 WHERE Cno='01001')) 10. 查询每个同学各门课程的平均成绩和最高成绩,按降序排列输出姓名、平均成绩、

最高成绩。

USE jiaoxuedb SELECT Sname AS 姓名,AVG(Score) AS 平均,MAX(Score) AS 最高 FROM Student,SC WHERE Student.Sno=SC.Sno GROUP BY Sname ORDER BY Sname DESC GO

11. 查询所有学生都选修了的课程号和课程名。 USE jiaoxuedb SELECT Cname AS 课程号,Cno AS 课程名 FROM Course WHERE NOT EXISTS (SELECT * FROM Student WHERE NOT EXISTS GO

(SELECT * FROM SC WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno)); 12. 查询选修了991102号学生选修了的课程的学生学号和姓名。

use jiaoxuedb SELECT DISTINCT Sno,Sname FROM SC s1 WHERE NOT EXISTS (SELECT Cno FROM SC s2 WHERE Sno='991102' AND NOT EXISTS (SELECT Cno FROM SC s3 WHERE s1.Sno=s3.Sno AND s2.Cno=s3.Cno)) AND s1.Sno!= '991102' GO 13. 建立教材中第2章事例数据库中的3个表,并装入相应数据,执行第3章中的SQL

语句示例,并查看执行结果。

14. 建立教材中第2章习题7中的4个表,并装入相应数据,完成第3章习题4、5、

11,并查看执行结果。

15. 向SC中增加几个选修了英语课但无成绩(grade值为空值)的学生,用SQL语句

实现找出这些无成绩学生,并查看执行结果。


数据库系统概论实验指导书 (4).doc 将本文的Word文档下载到电脑

下一篇:中国人权问题之现状与前景 纪念《世界人权宣言》发表五十周年

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xxxxxx QQ:xxxxxx