预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQL查询练习题设教学数据库中有三个关系:学生关系S(S#,SNAME,AGE,SEX)选课关系SC(S#,C#,GRADE)课程关系C(C#,CNAME,TEACHER)下面用SQL语句实现下面每个查询:(1)查询学习课程号为C2的学生学号与成绩。SELECTS#,GRADEFROMSCWHEREC#=‘C2’(2)查询学习课程号为C2的学生学号与姓名。SELECTS.S#,SNAMEFROMS,SCWHERES.S#=SC.S#ANDC#=‘C2’或SELECTS#,SNAMEFROMSWHERES#IN(SELECTS#FROMSCWHEREC#=‘C2’)(3)查询选修课程名为MATHS的学生学号与姓名。SELECTS.S#,SNAMEFROMS,SC,CWHERES.S#=SC.S#ANDSC.C#=C.C#ANDCNAME=‘MATHS’或SELECTS#,SNAMEFROMSWHERES#IN(SELECTS#FROMSCWHEREC#IN(SELECTC#FROMCWHERECNMAE=‘MATHS’))(4)查询选修课程号为C2或C4的学生学号。SELECTS#FROMSCWHEREC#=‘C2’ORC#=‘C4’(5)查询选修了2号课程且成绩在90分以上的学生的学号和性名。SELECTS.S#,SNAMEFROMS,SCWHERES.S#=SC.S#ANDSC.C#=‘2’ANDSC.GRADE>90(6)查询不学C2课的学生姓名与年龄。SELECTSNAME,AGEFROMSWHERES#NOTIN(SELECTS#FROMSCWHEREC#=‘C2’)(9)统计有学生选修的课程门数。SELECTCOUNT(DISTINCTC#)FROMSC(10)求选修C4课程的女学生的平均年龄。SELECTAVG(AGE)FROMSWHERESEX=‘女’ANDS#IN(SELECTS#FROMSCWHEREC#=‘C4’)(11)求刘老师所授课程的每门课程的平均成绩。SELCTC#,AVG(GRADE)FROMSCWHEREC#IN(SELECTC#FROMCWHERETEACHER=‘LIU’)GROUPBYC#或SELECTC.C#,AVG(GRADE)FROMC,SCWHEREC.C#=SC.C#ANDTEACHER=‘LIU’GROUPBYC.C#(12)统计每门课程的学生选修人数(超过10人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。SELECTC#,COUNT(S#)FROMSCGROUPBYC#HAVINGCOUNT(*)>10ORDERBYCOUNT(S#)DESC,C#(13)在SC表中检索成绩为空值的学生学号和课程号。SELECTS#,C#FROMSCWHEREGRADEISNULL(14)检索姓名以L打头的所有学生的姓名和年龄。SELECTSNAME,AGEFROMSWHERESNAMELIKE’L%’(15)求年龄大于女同学平均年龄的男学生姓名和年龄。SELECTSNAME,AGEFROMSWHERESEX=‘男’ANDAGE>(SELECTAVG(AGE)FROMSWHERESEX=‘女’)(17)求年龄大于所有女同学年龄的男学生姓名和年龄。SELECTSNAME,AGEFROMSWHERESEX=‘男’ANDAGE>ALL(SELECTAGEFROMSWHERESEX=‘女’)或SELECTSNAME,AGEFROMSWHERESEX=‘男’ANDAGE>(SELECTMAX(AGE)FROMSWHERESEX=‘女’)(1)往关系C中插入一个课程元组(‘C8’,‘VC++’,‘BAO’)INSERTINTOCVALUES(‘C8’,’VC++’,’BAO’)(2)在SC中删除尚无成绩的选课元组。DELETEFROMSCWHEREGRADEISNULL(3)把选修LIU老师课程的女同学选课元组全部删去。DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESEX=‘F’)ANDC#IN(SELECTC#FROMCWHERETEACHER=‘LIU’)(4)把MATHS课不及格的成绩全改为60.UPDATESCSETGRADE=60WHEREGRADE<60ANDC#IN(SELECTC#FROMCWHERECNAME=‘MATHS’)(5)把低于所有课程总平均成绩的女同学成绩提高5%。UPDATESCSETGRADE=GRADE*1.05WHERES#IN(SELECTS#FROMSWHERESEX=‘F’)ANDGRADE<(SELECTAVG(GRADE)FROMSC)