《计算机专业计算机技能测试.pdf》由会员分享,可在线阅读,更多相关《计算机专业计算机技能测试.pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、计算机专业计算机技能测试计算机专业计算机技能测试student(学生):snosname4 2 1 周远行1 2 3 王义平1 2 0 王大力1 1 9 李 维2 0 3 林 美course(课程):eno semestercs-110 秋cs-201 春cs-221 秋ee122 秋ee-201 春sc(选课)sno eno grade421cs-l10 90421ee-201 100123ee-122 91123ee-201 83120cs-221 NULL119cs-110 72119cs-201 65203cs-110 82.5203cs-201 80203ee-201 75用S Q
2、L语言写出下列查询:1、查询春季学期的课程号2、查询至少有一门课程成绩大于等于9 0的学生姓名。3、查询有3个学生选修的课程号。探索性问题:1、查询选课门数唯一的学生的学号(例如,1 20号学生选1门课,2 0 3号学生选3门课,其余学生都选了 2门课,因 此1 20号和20 3号是选课门数唯一的学生)。2、查询E E-20 1课成绩第3名的学生的学号。要求:运行成功,并生成正确结果,打印S Q L语句。计算机专业计算机技能测试C rea te T a b le S C(S no C H AR (3)N O T N U L L,C no C H AR(6)N O T N U L L,G ra
3、d e S M AL L I N T C H E C K (G ra d e I S N U L L)O R (G ra d e B E T WE E N 0 AN D1 0 0),P R I M AR Y K E Y(S no,C no);I N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N S E R TI N T OI N T OI N T OI N T OI N T OI N T OI N T OI N T OI N T OI N T
4、OS CS CS CS CS CS CS CS CS CS CVAL U E S (4 21 ,C S T 1 0 ,9 0);VAL U E S (4 21 ,E E-20 1 ,1 0 0);VAL U E S (1 23 ,E E T 22,9 1);VAL U E S C 1 23?/EE-2 08 3);VAL U E S (1 20 ,C S-221 ,N U L L);VAL U E S C 1 1 9),C S-1 1 0 ,7 2);VAL U E S,1 1 9 ,C S-20 1 ,6 5);VAL U E S (20 3 ,C S T 1 0 ,8 2.5);VAL U
5、 E S 20 3 ,C S-20 1 ,8 0);VAL U E S 20 3 ,E E-20 1 ,7 5);探索性问题:1、查询选课门数唯一的学生的学号(例如,120号学生选1门课,203号学生选3门课,其余学生都选了 2门课,因此120号和203号是选课门数唯一的学生)。select snofrom(select ctfrom(select sno,count(*)from scgrade by sno)as t(sno,ct)group by ct having count(*)=1)as tl(ct),(select sno,count(*)as ctfrom scgroup by
6、 sno)as t2(sno,ct)where tl.ct=t2.ct2、查询EE-201课成绩第3名的学生的学号。要求:运行成功,并生成正确的结果,打印SQL语句。2、select sc.snofrom(select min(grade)from(select distinct top 3 gradefrom scwhere cno=,ee-201,order by grade desc)as tl(grade)as t2(grade)inner join sc on t2.grade=sc.gradewhere cno=ee-2013、查询EE-201课成绩第3-5名的学生的学号。要求:运
7、行成功,并生成正确的结果,打印SQL语句。3、select sc.snofrom(select tl.gradefrom(select distinct top 5 gradefrom scwhere cno=,ee-201order by grade desc)as tl(grade),(select distinct top 2 gradefrom scwhere cno=,ee-201order by grade desc)as t2(grade)where tl.gradet2.grade)as t3(grade)inner join sc on t3.grade=sc.gradewh
8、ere cno=ee-201另一解更好:select sc.snofrom(select top 3 tl.gradefrom(select top 5 gradefrom scwhere cno=,ee-201order by grade desc)as tl(grade)order by tl.grade asc)as t3(grade)inner join sc on t3.grade=sc.gradewhere cno=,ee-201分步完成1、select top 5 grade into tlfrom scwhere cno=,ee-201,order by grade desc2、select top 3 tl.grade into t2from tlorder by tl.grade asc3、select sc.snofrom t2 inner join sc on t2.grade=sc.gradewhere cno=,ee-201,4、drop table tldrop table t2