SQL经典查询练习30问及答案

上传人:n****y 文档编号:24419821 上传时间:2017-12-05 格式:PPT 页数:10 大小:221KB
返回 下载 相关 举报
SQL经典查询练习30问及答案_第1页
第1页 / 共10页
SQL经典查询练习30问及答案_第2页
第2页 / 共10页
SQL经典查询练习30问及答案_第3页
第3页 / 共10页
SQL经典查询练习30问及答案_第4页
第4页 / 共10页
SQL经典查询练习30问及答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《SQL经典查询练习30问及答案》由会员分享,可在线阅读,更多相关《SQL经典查询练习30问及答案(10页珍藏版)》请在金锄头文库上搜索。

1、学生表,课程表,教师表,成绩表,练习作业(1)查询选修课程3-105且成绩在60到80之间的所有记录。(2)查询成绩为85、86或88的记录。(3)查询95031班的学生人数。(4)查询至少有5名学生选修并以3开头的课程的平均成绩。(5)查询最低分大于70,最高分小于90的NO列。(6)查询95033班学生所选课程的平均分。(7)查询选修3-105课程的成绩高于109号同学成绩的所有同学的记录。(8)查询与学号为108的同学同岁的所有学生的NO、NAME和AGE。(9)查询“张旭”教师任课的课程号,选修其课程学生的学号和成绩。(10)查询选修其课程的学生人数多于5人的教师姓名。,(11)查询“

2、计算机系”与“电子工程系”不同职称的教师的姓名和职称。(12)查询选修编号为“3-105”课程且成绩至少高于选修编号为“3-245”课程的同学的CNO、NO 、GRADE并按GRADE从高到低次序排列。(13)查询选修编号为“3-105”课程且成绩高于选修编号为“3-245”课程的同学的CNO、NO 、GRADE。(14)列出所有教师和同学的NAME 、SEX 、AGE。(15)查询成绩比该课程平均成绩低的学生的成绩表。(16)列出所有任课教师的NAME和DEPART。(17)列出所有未讲课教师的NAME和DEPART。(18)列出至少有2名男生的班号。(19)查询不姓“王”的学生记录。(20

3、)查询每门课最高分的学生的NO、CNO、CRADE。,(21)查询与“李军”同性别并同班的同学NAME。(22)查询“男”教师及其所上的课程。(23)查询选修“计算机导论”课程的“男”同学的成绩表。(24)往基本表Student中插入一个学生元组(张红,女)。(25)在基本表SC中删除尚无成绩的选课元组(26)把选修数学课不及格的成绩全改为空值(27)把低于总平均成绩的女同学成绩提高5%(28)在基本表SC中修改1号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75时提高4%(29)查询“张旭”教师任课的课程号,选修其课程学生的学号和成绩。(30)检索学号比李同学大,而年龄比他小的学生

4、姓名。,-(1)查询选修课程3-105且成绩在60到80之间的所有记录。 tselect st.no,st.name,st.age,st.sex,st.class,sc.gradefrom student st,scores scwhere (st.no=sc.no and o=3105);-(2)查询成绩为85、86或88的记录。select st.no,st.name,st.class,sc.gradefrom student st,scores scwhere (st.no=sc.no and (sc.grade=85 or sc.grade=86 or sc.grade=88);-(3

5、)查询95031班的学生人数。select count(no)from studentwhere class=95031;-(4)查询至少有5名学生选修并以3开头的课程的平均成绩。 SELECT cno,avg(grade) FROM SCORESWHERE substr(cno,1,1)=3GROUP BY CNO HAVING COUNT(*)=5;-(5)查询最低分大于70,最高分小于90的NO列。select sc.nofrom scores sc,student stwhere st.no=sc.nogroup by sc.no having min(sc.grade)70 and

6、max(sc.grade)(select gradefrom scoreswhere cno=3105and no=109)and st.no=sc.no;-(8)查询与学号为108的同学同岁的所有学生的NO、NAME和AGE。select no,name,agefrom studentwhere age=(select agefrom studentwhere no=108);-(9)查询“张旭”教师任课的课程号,选修其课程学生的学号和成绩。select o,sc.no,sc.gradefrom course co,scores sc,teacher twhere t.name=张旭 and

7、 t.tno=co.tno and o=o;-(10)查询选修其课程的学生人数多于5人的教师姓名。SELECT distinct t.name from course co,teacher t,scores scwhere o=o and t.tno=co.tno o in (select ofrom scores sc,course cowhere o=ogroup by ohaving count(o)5);,-(11)查询“计算机系”与“电子工程系”不同职称的教师的姓名和职称。select name,proffrom teacherwhere depart=计算机系 or depart=

8、电子工程group by prof,name-*(12)查询选修编号为“3-105”课程且成绩至少高于选修编号为“3-245”课程的同学的CNO、NO 、GRADE并按GRADE从高到低次序排列。select * from scoreswhere cno=3105 and grade all (select grade from scores where cno=3245) order by grade desc;-(13)查询选修编号为“3-105”课程且成绩高于选修编号为“3-245”课程的同学的CNO、NO 、GRADE。select * from scoreswhere cno=310

9、5 and grade all (select grade from scores where cno=3245);-(14)列出所有教师和同学的NAME 、SEX 、AGE。select student.name,student.sex,student.age,teacher.name,teacher.sex,teacher.age fromstudent inner join (scores inner join (course inner join teacher on course.tno=teacher.tno)on o=o) on student.no=scores.no;-(15

10、)查询成绩比该课程平均成绩低的学生的成绩表。select * from scores sc where grade = 2;-(19)查询不姓“王”的学生记录。select * from student where name not in (select name from student where name like 王%);-(20)查询每门课最高分的学生的NO、CNO、CRADE。select * from scores where grade in (select max(grade) from scores group by cno);,-(21)查询与“李军”同性别并同班的同学N

11、AME。select namefrom studentwhere sex in (select sexfrom studentwhere name=李军) and class in (select classfrom studentwhere name=李军)-(22)查询“男”教师及其所上的课程。select name,cname from teacher,coursewhere sex=男 and teacher.tno=course.tno;-(23)查询选修“计算机导论”课程的“男”同学的成绩表。select st.no,st.name,gradefrom student st,cou

12、rse,scoreswhere st.sex=男 and ame=计算机导论 and o=oand st.no=scores.no;-(24)往基本表Student中插入一个学生元组(张红,女)。insert into studentvalues(111,张红,女,20,95033);commit;-(25)在基本表SC中删除尚无成绩的选课元组delete from scoreswhere grade=nullcommit;,-(26)把选修数学课不及格的成绩全改为空值update scoresset grade=nullwhere grade60-(27)把低于总平均成绩的女同学成绩提高5%

13、update scoresset grade=grade*1.05where grade(select avg(grade)from scores)select * from scores-(28)在基本表SC中修改1号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75时提高4%update scoresset grade=grade*1.05where grade75 and cno=1;(29)查询“张旭”教师任课的课程号,选修其课程学生的学号和成绩。select o,sc.no,sc.gradefrom course co,scores sc,teacher twhere t.name=张旭 and t.tno=co.tno and o=o;-(30)检索学号比李同学大,而年龄比他小的学生姓名。select name,no,agefrom studentwhere no(select no from student where name=李)andage(select age from student where name=李);,

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

当前位置:首页 > 商业/管理/HR > 其它文档

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