实验三四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三:数据库的嵌套查询实验
实验目的:
加深对嵌套查询语句的理解。
实验内容:
使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。
实验步骤:
一. 使用带IN谓词的子查询
1. 查询与’刘晨’在同一个系学习的学生的信息:
2. 查询选修了课程名为’信息系统’ 的学生的学号和姓名:
3. 查询选修了课程’1’和课程’2’的学生的学号:
二. 使用带比较运算的子查询
4. 查询比’刘晨’年龄小的所有学生的信息:
三. 使用带Any, All谓词的子查询
5. 查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;
6. 查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄:
7. 查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student where sage<>all
(select sage from student where sdept='CS')
四. 使用带Exists谓词的子查询和相关子查询
8. 查询与其他所有学生年龄均不同的学生学号, 姓名和年龄:
9. 查询所有选修了1号课程的学生姓名:
10. 查询没有选修了1号课程的学生姓名:
11. 查询选修了全部课程的学生姓名:
12. 查询至少选修了学生95002选修的全部课程的学生的学号:
13. 求没有人选修的课程号cno和cnamecname:
14. 查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号cno的课程
15. 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade):
思考:
如何查询所有学生都选修了的课程的课程号cno?
实验四:数据库的分组查询和统计查询
实验目的:
熟练掌握数据查询中的分组、统计、计算和集合的操作方法。
实验内容:
使用聚集函数查询、分组计算查询、集合查询。
实验步骤:
一. 使用聚集函数:
1.查询学生总人数:
2. 查询选修了课程的学生总数:
3. 查询所有课程的总学分数和平均学分数,以及最高学分和最低学分:
4. 计算1号课程的学生的平均成绩, 最高分和最低分:
5. 查询’信息系’(IS)学生”数据结构”课程的平均成绩:
6*. 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade):
7*. 求成绩低于该门课程平均成绩的学生的成绩信息(sno,cno,grade)
二. 分组查询
8. 查询各系的学生的人数并按人数从多到少排序 :
9. 查询各系的男女生学生总数, 并按系别,升序排列, 女生排在前:
10. 查询选修了3门课程已上的学生的学号和姓名:
11. 查询每个学生所选课程的平均成绩, 最高分, 最低分,和选课门数:低分,
12. 查询至少选修了2门课程的学生的平均成绩:
13. 查询平均分超过80分的学生的学号和平均分:
14. 查询”信息系”(IS)中选修了5门课程以上的学生的学号:
三. 集合查询
15. 查询数学系和信息系的学生的信息;
16. 查询选修了1号课程或2号课程的学生的学号:
思考:
1. 用两种方法查询平均成绩少于70分的学生的学号。
2*. 求各系的”大学英语”课程的成绩最高的学生的姓名和成绩。