数据库第五六七章作业答案.ppt

上传人:小飞机 文档编号:5738418 上传时间:2023-08-15 格式:PPT 页数:22 大小:256.99KB
返回 下载 相关 举报
数据库第五六七章作业答案.ppt_第1页
第1页 / 共22页
数据库第五六七章作业答案.ppt_第2页
第2页 / 共22页
数据库第五六七章作业答案.ppt_第3页
第3页 / 共22页
数据库第五六七章作业答案.ppt_第4页
第4页 / 共22页
数据库第五六七章作业答案.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《数据库第五六七章作业答案.ppt》由会员分享,可在线阅读,更多相关《数据库第五六七章作业答案.ppt(22页珍藏版)》请在三一办公上搜索。

1、第五章作业,1、查询学生选课表中的全部数据select*from sc2、查询计算机系学生的姓名、年龄select sname,sage from student where sdept=计算机系3、查询成绩在70-80的学生的学号、课程号和成绩select*from sc where grade between 70 to 804、查询计算机系年龄在18-20的男生的姓名、年龄select sname,sage from studentWhere sdept=计算机系 and sage between 18 to 20 and ssex=男5、查询“C01”课程的最高成绩Select max

2、(grade)from sc where cno=c01,6、查询计算机系学生的最大年龄和最小年龄 select max(sage),min(sage)from student where sdept=计算机系7、统计每个系的学生人数 select sdept,count(*)from student group by sdept8、统计每门课程的选课人数和考试最高分 select cno,count(*),max(grade)from sc group by cno9、统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果 select sno,count(*),sum(grade)f

3、rom sc group by sno order by count(*)asc10、查询总成绩超过200分的学生,要求列出学号、总成绩 select sno,sum(grade)from sc group by sno having sum(grade)200,11、查询选修了”C02“课程的学生的姓名和所在系 select sname,sdept from student s join sc on s.sno=sc.sno where sc.con=c0212、查询成绩80分以上的学生的姓名、选的课程号和成绩,并按成绩降序排列结果 select sname,cno,grade from s

4、tudent s join sc on s.sno=sc.sno where grade 80 order by grade desc13、查询哪些学生没有选课,要求列出学号、姓名和所在系 select s.sno,sname,sdept from student s left join sc on s.sno=sc.sno where o is null,14、查询与VB在同一学期开设的课程的课程名和开课学期 select ame,c1.semester from course c1 join course c2 on c1.semester=c2.semester where ame=VB

5、and ame!=VB15、查询与李勇年龄相同的学生的姓名、所在系和年龄 select s2.sname,s2.sdept,s2.sage from student s1 join student s2 on s1.sage=s2.sage where s1.sname=李勇 and s2.sname!=李勇,16、查询计算机系年龄最小的2名学生的姓名和年龄 select top 2 with ties sname,sage from student where sdept=计算机系order by sage asc17、查询VB考试成绩最高的前2名学生的姓名、所在系和VB成绩,包括并列的情况

6、 select top 2 with ties sname,sdept,grade from student s join sc on s.sno=sc.sno join course c on o=o where cname=VB order by grade desc18、查询选课门数最多的前2名学生的学号和选课门数,包括并列的情况 select top 2 with ties sno,count(*)from sc group by sno order by count(*)desc19、查询学生人数最多的系,列出系名和人数。select top 1 sdept,count(*)from

7、 student group by sdept order by count(*)desc,20、用子查询实现如下查询:1)查询选修了”C01“课程的学生姓名和所在系 select sname,sdept from student where sno in(select sno from sc where con=c01)2)查询数学系成绩80分以上的学生的学号、姓名、选的课程号和成绩 select sno,sname,cno,grade from student join sc on student.sno=sc.sno where sdept=数学系 and sno in(select s

8、no from sc where grade80),20、3)查询计算机系考试成绩最高的学生的姓名 select sname from student s join sc on s.sno=sc.sno where sdept=计算机系 and grade=(select max(grade)from sc join student s on s.sno=sc.sno where sdept=计算机系)4)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩 select sname,sdept,ssex,grade from student s join sc on s.sno=sc.s

9、no join course on o=o where cname=数据结构 and grade=(select max(grade)from sc join count on o=o where cname=数据结构),21、查询没有选修VB课程的学生的姓名和所在系 select sname sdept from student s join sc on s.sno=sc.sno join course c on o=o where cname!=VB22、查询计算机系没有选课的学生的姓名和所在系 select sname from student s left join sc on s.s

10、no=sc.sno Where sdept=计算机系 and o is null,23、查询计算机系考试平均最低的学生的姓名以及所选的课程名select sname,cname from student s join sc on s.sno=sc.sno join course c on o=o where sdept=计算机系 and sno=(select top 1 sno from sc order by ave(grade)asc),24、查询1-5学期中选课人数最少的课程的课程名、开课学期和学分SELECTCname,Semester,CreditFROMCourseWHERE(C

11、noIN(SELECTTOP1WITHtiescnoFROMscGROUPBYcno ORDERBYCOUNT(*)ASC)AND(SemesterBETWEEN1AND5),25、create table test_t(col1 int,col2 char(10)not null,col3 char(10)insert into test_t(col2)values(b1)insert into test_t(col1,col2,col3)values(1,b2,c2)insert into test_t(col1,col2)values(2,b3),26、删除考试成绩低于50分的学生的该门

12、课程的选课记录delete from sc where grade60 and sdept=计算机系,29、删除VB考试成绩最低的学生的VB选课记录 delete from sc join student s on s.sno=sc.sno join course c on o=o where cname=vb and grade=(select min(grade)from sc join student s on sc.sno=s.sno where cname=vb),30、将第2学期开设的所有课程的学分增加2分update course set credit=credit+2 wher

13、e semester=231、将VB课程的学分改为3分update course set credit=credit+2 where cname=vb32、将计算机系学生的年龄增加1岁update student set sage=sage+1 where sdept=计算机系,33、将信息系学生的“计算机文化学”课程的考试成绩加5分update sc set grade=grade+5 where cno in(select cno from course where cname=计算机系)and sno in(select sno from student where sdept=信息系)

14、34、将选课人数最少的课程的学分降低1分update course set credit=credit-1 where cno=(select top 1 cno from sc group by cno order by count(*)asc),第六章作业,9、1)在student表上为sname列建立一个聚集索引,索引名为sldx create clustered index sldx on student(sname)2)在course表上为cname列建立一个唯一的非聚集索引,索引名为cnidx create unique nonclustered index cnidx on co

15、urse(cname)3)在SC表上为SNO和CNO建立一个组合的聚集索引,索引名为snocnoidx Create clustered index snocnoidx on sc(sno,cno)4)删除SNAME列上建立的sldx 索引Drop index sldx,12、1)查询学生的学号、姓名、所在系、课程名、课程号、课程学分create view v1 as select s.sno,sdept,cno,cname,credit from student s join sc on s.sno=sc.sno join course c on o=o2)查询学生的学号、姓名、选修的课程名

16、和考试成绩create view v2 as select s.sno,sname,cname,grade from student s join sc on s.sno=sc.sno join course c on o=o3)统计每个学生的选课门数,要求列出学生学号和选课门数create view v3 as select sno,count(*)as total from sc group by sno4)统计每个学生的选课总学分,要求列出学生学号和总学分(说明:考试成绩大于等于60分才能获得此门课程的学分)create view v4 as select sno,sum(credit)

17、total_credit from sc join course c on o=o where grade=60 group by sno,13、1)查询考试成绩大于等于90分得学生的姓名、课程名和成绩select sname,cname,grade from v2 where grade=902)查询选课门数超过3门的学生的学号和选课门数select*from v3 where total33)查询计算机系选课门数超过3门的学生的姓名和选课门数select sname,total from v3 join student s on v3.sno=s.sno4)查询修课总学分超过10分的学生的

18、学号、姓名、所在系和修课总学分select v4.sno,sname,sdept,total_credit from v4 join student s on s.sno=v4.sno where total_credit105)查询年龄大于等于20的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分select sname,sage,sdept,total_credit from v4 join student s on v4.sno=s.sno where sage=20 and total_credit=10,14、修改视图v4,使其查询每个学生的学号、总学分和总的选课门

19、数alter view v4 as select sno,sum(credit),count(*)from sc join course c on o=o group by sno,第七章作业,6、关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)语义:一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分答:候选码为(学号,课程号),同时也是此关系模式的主键分解:学生表(学号,姓名,所在系,性别)课程表(课程号,课程名,学分)选课表(学号,课程号,成绩),7、关系模式:学生(学号,姓名,所在系,班号,班主任,系主任)语义

20、:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。答:候选码为学号,同时也是此关系模式的主键分解:学生表(学号,姓名,所在系,班号)班级表(班号,班主任)选课表(所在系,系主任),8、关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数)语义:一名课程(有课程号决定)有确定的课程名和学分,每名教师(有教师号决定)有确定的教师名,每门课程可以有多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数答:候选码为(课程号,授课教师号),同时也是此关系模式的主键分解:课程表(课程号,课程名,学分)教师表(教师号,教师名)授课表(课程号,教师号,授课时数),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号