77范文网 - 专业文章范例文档资料分享平台

数据库系统教程(何玉洁_李宝安_编著)第6章习题参考答案

来源:网络收集 时间:1970-01-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第6章 高级查询

习题答案

1. 查询计算机系每个学生的VB考试情况,列出学号、姓名、成绩和成绩情况,

其中成绩情况的显示规则如下:

如果成绩大于等于90,则成绩情况为“好”; 如果成绩在80~89,则成绩情况为“较好”; 如果成绩在70~79,则成绩情况为“一般”; 如果成绩在60~69,则成绩情况为“较差”; 如果成绩在小于60,则成绩情况为“差”。

select s.sno,s.sname,grade, case when grade >= 90 then '好' when grade between 80 and 89 then '较好' when grade between 70 and 79 then '一般' when grade between 60 and 69 then '较差' when grade < 60 then '差' end as 考试情况

from student s join SC on s.sno = SC.sno join course c on c.cno = SC.cno where cname = 'VB'

2. 统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和

选课情况,其中选课情况显示规则如下:

如果选课门数大于等于6门,则选课情况为“多”; 如果选课门数在3~5门,则选课情况为“一般”; 如果选课门数在1~2门,则选课情况为“偏少”; 如果没有选课,则选课情况为“未选课”。

select s.sno,count(cno) 选课门数, case

when count(cno) >= 6 then '多' when count(cno) between 3 and 5 then '一般' when count(cno) between 1 and 2 then '偏少' when count(cno) = 0 then '未选课' end as 选课情况

from student s left join SC on s.sno = SC.sno group by s.sno

3. 统计每个系VB课程的考试情况,列出系名和考试情况,其中考试情况如下:

如果VB平均成绩超过90分,则考试情况为“好”; 如果VB平均成绩在81~90分,则考试情况为“良好”; 如果VB平均成绩在70~80分,则考试情况为“一般”;

如果VB平均成绩低于70分,则考试情况为“较差”。

select sdept, case when avg(grade) > 90 then '好' when avg(grade) between 81 and 91 then '良好' when avg(grade) between 70 and 81 then '一般' when avg(grade) <70 then '较差' end as 考试情况

from student s join SC on s.sno = SC.sno join course c on c.cno = SC.cno where cname = 'VB' group by sdept

4. 修改全部课程的学分,修改规则如下:

如果是第1~2学期开设的课程,则学分增加5分; 如果是第3~4学期开设的课程,则学分增加3分; 如果是第5~6学期开设的课程,则学分增加1分; 对其它学期开设的课程,学分不变。

update SC set Grade = Grade + case when semester between 1 and 2 then 5 when semester between 3 and 4 then 3 when semester between 5 and 6 then 1 else 0 end

from SC join course c on SC.cno = c.cno

5. 查询每个系年龄大于20岁的学生人数,并将结果保存到一个新的永久表

Dept_Age中。

select sdept,count(sno) 人数 into student_age from student where sno in ( select sno from student where sage < 20 )

group by sdept

6. 统计第2学期开设的课程的总学分,列出该学期开设的课程名、学分和总学

分。(可分步骤实现)

select cname,credit,(select sum(credit) from course where semester = 2) 总学分 from course where semester = 2

7. 统计考试平均成绩大于等于80分的学生的姓名、考试的课程号、考试成绩

和平均成绩,并将结果按平均成绩从高到低排序。(可分步骤实现)

select sname,cno,grade,average from student join SC on student.sno = SC.sno

join (select sno,avg(grade) average from SC group by sno having avg(grade) >= 80) A on student.sno=A.sno

8. 查询计算机系年龄小于信息管理系全体学生年龄的学生的姓名和年龄。

select sname,sage from student

where sdept = '计算机系' and sage < all (select sage from student where sdept = '信息管理系')

9. 查询计算机系年龄大于信息管理系某个学生年龄的学生的姓名和年龄。

select sname,sage from student

where sdept = '计算机系' and sage > some (select sage from student where sdept = '信息管理系')

10. 查询哪些课程没有学生选修,要求列出课程号和课程名。(用EXISTS子查询

实现)

select cno,cname from course c

where not exists(select * from SC where cno = c.cno)

11. 查询计算机系哪些学生没有选课,列出学生姓名。(用EXISTS子查询实现)

select sname from Student s

where sdept = '计算机系' and not exists (select * from SC where sno = s.sno)

12. 查询没有选修第2学期开设的全部课程的学生的学号和所选的课程号。

select sno,cno from SC

where not exists(select * from course where Semester = 2 and cno = SC.cno)

13. 查询至少选了第4学期开设的全部课程的学生的学号和所在系。

select sno,sdept from student s where not exists(

select * from course c where semester = 4 and not exists( select * from SC where SC.cno = c.cno and s.sno = SC.sno))

14. 查询至少选了“0831102”号学生所选的全部课程的学生的学号。

select sno from student s

where sno !=0831102 and not exists( select * from SC c where sno=0831102 and not exists( select * from SC where SC.sno = s.sno and SC.cno = c.cno))

15. 查询至少选了“张海”所选的全部课程的学生的学号、所在系和所选的课程

号。

select s.sno,sdept,cno from student s join SC on s.sno=SC.sno where s.sno in( select sno from SC

where cno in( select cno from student s join SC on s.sno = SC.sno where sname='张海') group by sno having count(*)=( select count(*) from student s join SC on s.sno = SC.sno where sname='张海')) AND sname != '张海'

16. 查询至少选了全部学分大于3分的课程的学生的学号、所在系和所选的课程

号、课程名以及学分。

select SC.sno,sdept,SC.cno,cname,credit from course c join SC on c.cno = SC.cno join student s on s.sno = SC.sno

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库系统教程(何玉洁_李宝安_编著)第6章习题参考答案在线全文阅读。

数据库系统教程(何玉洁_李宝安_编著)第6章习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/314929.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: