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

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

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

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

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

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

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

5、where ame=VBand ame!=VB 15、查询与李勇年龄相同的学生的姓名、所在系和年龄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 asc 17、查询VB考试成绩最高的前2名学生的姓名、所在系和

6、VB成绩,包括并列的情况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 desc 18、查询选课门数最多的前2名学生的学号和选课门数,包 括并列的情况select top 2 with ties sno,count(*) from scgroup by sno order by count(*) desc 19、查询学生人数最多的系,列出系名和人数。select top 1 sdep

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

8、 in (select sno from sc where grade80)20、3)查询计算机系考试成绩最高的学生的姓名select sname from student s join sc on s.sno=sc.sno where sdept=计算机系 andgrade=(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

9、 s.sno=sc.sno 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!=VB 22、查询计算机系没有选课的学生的姓名和所在系select sname from student s left joi

10、n sc on s.sno = sc.sno Where sdept = 计算机系 and o is null23、查询计算机系考试平均最低的学生的姓 名以及所选的课程名 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学期中选课人数最少的课程的课 程名、开课学期和学分 SELECT Cname, Semester,

11、Credit FROM Course WHERE (Cno IN (SELECT TOP 1 WITH ties cno FROM sc GROUP BY cno ORDER BY COUNT(*) ASC) AND (Semester BE TWEEN 1 AND 5) 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 int

12、o test_t(col1,col2) values(2,b3)26、删除考试成绩低于50分的学生的该门课程的选 课记录 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学

13、期开设的所有课程的学分增加2分 update course set credit=credit+2 where semester=2 31、将VB课程的学分改为3分 update course set credit=credit+2 where cname=vb 32、将计算机系学生的年龄增加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 cna

14、me=计算机系 ) and sno in (select sno from student where sdept= 信息系) 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表上为cnam

15、e列建立一个唯一的非聚集索 引,索引名为cnidx create unique nonclustered index cnidx on course(cname) 3)在SC表上为SNO和CNO建立一个组合的聚集索引, 索引名为snocnoidxCreate clustered index snocnoidx on sc(sno,cno) 4)删除SNAME列上建立的sldx 索引 Drop index sldx12、 1)查询学生的学号、姓名、所在系、课程名、课程号、课程学分 create view v1 asselect s.sno,sdept,cno,cname,credit from

16、student s join sc on s.sno=sc.sno join course c on o=o 2)查询学生的学号、姓名、选修的课程名和考试成绩 create view v2 asselect s.sno,sname,cname,grade from student s join sc on s.sno=sc.sno join course c on o=o 3) 统计每个学生的选课门数,要求列出学生学号和选课门数 create view v3 as select sno,count(*) as total from sc group by sno 4) 统计每个学生的选课总学分,要求列出学生学号和总学分(说明:考试成 绩大于

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号