SQL查询练习题市公开课金奖市赛课一等奖课件_第1页
SQL查询练习题市公开课金奖市赛课一等奖课件_第2页
SQL查询练习题市公开课金奖市赛课一等奖课件_第3页
SQL查询练习题市公开课金奖市赛课一等奖课件_第4页
SQL查询练习题市公开课金奖市赛课一等奖课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SQL查询练习题第1页设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)下面用SQL语句实现下面每个查询:(1)查询学习课程号为C2学生学号与成绩。 SELECT S#,GRADE FROM SC WHERE C#=C2(2)查询学习课程号为C2学生学号与姓名。 SELECT S.S#,SNAME FROM S,SC WHERE S.S#=SC.S# AND C#=C2或 SELECT S#,SNAME FROM S WHERE S# IN (SELECT S# FROM SC WH

2、ERE C#=C2)第2页(3)查询选修课程名为MATHS学生学号与姓名。 SELECT S.S#,SNAME FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND CNAME=MATHS 或 SELECT S#,SNAME FROM S WHERE S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE CNMAE=MATHS)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER

3、)第3页(4)查询选修课程号为C2或C4学生学号。 SELECT S# FROM SC WHERE C#=C2 OR C#=C4设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第4页(5)查询选修了2号课程且成绩在90分以上学生学号和性名。 SELECT S.S#,SNAME FROM S,SC WHERE S.S#=SC.S# AND SC.C#=2AND SC.GRADE90设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,G

4、RADE)课程关系 C(C#,CNAME,TEACHER)第5页(6)查询不学C2课学生姓名与年纪。 SELECT SNAME,AGE FROM S WHERE S# NOT IN(SELECT S# FROM SC WHERE C#=C2)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第6页(9)统计有学生选修课程门数。 SELECT COUNT(DISTINCT C#) FROM SC设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S

5、#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第7页(10)求选修C4课程女学生平均年纪。 SELECT AVG(AGE) FROM S WHERE SEX=女 AND S# IN (SELECT S# FROM SC WHERE C#=C4)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第8页(11)求刘老师所讲课程每门课程平均成绩。 SELCT C#,AVG(GRADE) FROM SC WHERE C# IN(SELECT C# FROM C WHE

6、RE TEACHER=LIU) GROUP BY C#或 SELECT C.C#,AVG(GRADE) FROM C,SC WHERE C.C#=SC.C# AND TEACHER=LIU GROUP BY C.C#设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第9页(12)统计每门课程学生选修人数(超出10人课程才统计)。要求显示课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT C#,COUNT( S#) FROM SC GROUP BY C#

7、 HAVING COUNT(*)10 ORDER BY COUNT(S#) DESC,C#设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第10页(13)在SC表中检索成绩为空值学生学号和课程号。 SELECT S#,C# FROM SC WHERE GRADE IS NULL设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第11页(14)检索姓名以L打头全部学生姓名和

8、年纪。 SELECT SNAME,AGE FROM S WHERE SNAME LIKEL%设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第12页(15)求年纪大于女同学平均年纪男学生姓名和年纪。 SELECT SNAME,AGE FROM S WHERE SEX=男 AND AGE(SELECT AVG(AGE) FROM S WHERE SEX=女)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(

9、C#,CNAME,TEACHER)第13页(17)求年纪大于全部女同年纪男学生姓名和年纪。 SELECT SNAME,AGE FROM S WHERE SEX=男 AND AGEALL(SELECT AGE FROM S WHERE SEX=女)或SELECT SNAME,AGE FROM S WHERE SEX=男 AND AGE (SELECT MAX(AGE) FROM S WHERE SEX=女)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第14页(1)往关系C中插入一

10、个课程元组(C8,VC+,BAO) INSERT INTO C VALUES(C8,VC+,BAO)(2)在SC中删除尚无成绩选课元组。 DELETE FROM SC WHERE GRADE IS NULL(3)把选修LIU老师课程女同学选课元组全部删去。 DELETE FROM SC WHERE S# IN(SELECT S# FROM S WHERE SEX=F) AND C# IN(SELECT C# FROM C WHERE TEACHER=LIU)设教学数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME,TEACHER)第15页(4)把MATHS课不及格成绩全改为60. UPDATE SC SET GRADE=60 WHERE GRADE60 AND C# IN(SELECT C# FROM C WHERE CNAME=MATHS)(5)把低于全部课程总平均成绩女同学成绩提升5%。 UPDATE SC SET GRADE=GRADE*1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论