SQL练习及答案.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL练习及答案

问题描述:   为管理岗位业务培训信息,建立3个表:   S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄   C (C#,CN ) C#,CN 分别代表课程编号、课程名称   SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩   1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名Select SN,SD FROM S Where [S#] IN( Select [S#] FROM C,SC Where C.[C#]=SC.[C#]   AND CN=N税收基础)??2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位Select SN,SD FROM S   Where [S#]    [C#]=C2) 3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位Select SN,SD FROM S   Where [S#] NOT IN(   Select [S#] FROM SC   Where [C#]=C5)4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位Select SN,SD FROM S   Where [S#] IN(   GROUP BY [S#] HAVING Count (Distinct C#) 5. 查询选修了课程的学员人数Select 学员人数=COUNT(DISTINCT [S#]) FROM SC6. 查询选修课程超过5门的学员学号和所属单位  Select SN,SD FROM S   Where [S#] IN(   Select [S#] FROM SC   GROUP BY [S#]   HAVING COUNT(DISTINCT [C#])5)题目2   问题描述:   已知关系模式:   S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名   C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师   SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 找出没有选修过“李明”老师讲授课程的所有学生姓名Select SNAME FROM S   Where NOT EXISTS(   Select * FROM SC,C   Where SC.CNO=C.CNO   AND CNAME=李明   AND SC.SNO=S.SNO)   2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩   Select S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)   FROM S,SC,(   Select SNO   FROM SC   Where SCGRADE60   GROUP BY SNO   HAVING COUNT(DISTINCT CNO)=2   )A Where S.SNO=A.SNO AND SC.SNO=A.SNO   GROUP BY S.SNO,S.SNAME   3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名   Select S.SNO,S.SNAME   FROM S,(   Select SC.SNO   FROM SC,C   Where SC.CNO=C.CNO   AND C.CNAME IN(1,2)   GROUP BY SNO   HAVING COUNT(DISTINCT CNO)=2   )SC Where S.SNO=SC.SNO   4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号   Select S.SNO,S.SNAME   FROM S,(   Select SC1.SNO   FROM SC SC1,C C1,SC SC2,C C2   Where SC1.CNO=C1.CNO AND C1.NAME=1   AND SC2.CNO=C2.CNO AND C2.NAME=2   AND SC1.SCGRADESC2.SCGRADE   )SC Where S.SNO=SC.SNO   5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩   Select S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩]   FROM S,(   Select SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE   FROM SC SC1,C C1,SC SC2,C C

文档评论(0)

3774384 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档