1、实验三:数据库的嵌套查询实验实验目的:加深对嵌套查询语句的理解。实验内容:使用 IN、比较符、ANY 或 ALL 和 EXISTS 操作符进行嵌套查询操作。实验步骤:一. 使用带 IN 谓词的子查询1. 查询与刘晨在同一个系学习的学生的信息:select * from student where sdept in (select sdept from student where sname=刘晨)比较: select * from student where sdept = (select sdept from student where sname=刘晨) 的异同比较: select * f
2、rom student where sdept = (select sdept from student where sname=刘晨) andsnameall(select sage from student where sdept=CS)四. 使用带 Exists 谓词的子查询和相关子查询8. 查询与其他所有学生年龄均不同的学生学号, 姓名和年龄:select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage and A.sno3) 11. 查询每个学生所选课
3、程的平均成绩, 最高分, 最低分,和选课门数:select sno, avg(grade) as 平均成绩,max(grade) as 最高分, min(grade) as 最低分, count(*) as 选课门数 from sc group by sno12. 查询至少选修了 2 门课程的学生的平均成绩:select sno, avg(grade) as 平均成绩, from sc group by sno having count(*)=213. 查询平均分超过 80 分的学生的学号和平均分:Select sno, avg(grade) as 平均成绩 from sc group by
4、sno having avg(*)=80比较: 求各学生的 60 分以上课程的平均分:select sno, avg(grade) as 平均成绩 from sc where grade=60 group by sno14. 查询”信息系”(IS)中选修了 5 门课程以上的学生的学号:select sno from sc where sno in (select sno from student where sdept=IS) group by sno having count(*)=2三. 集合查询15. 查询数学系和信息系的学生的信息;select * from student where sdept=MA union select * from student where sdept=IS16. 查询选修了 1 号课程或 2 号课程的学生的学号:select sno from sc where cno=1 Union select sno from sc where cno=2比较实验三之 3.思考:1. 用两种方法查询平均成绩少于 70 分的学生的学号。2*. 求各系的”大学英语”课程的成绩最高的学生的姓名和成绩。