资源描述:
《sql练习及答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、问题描述: 为管理岗位业务培训信息,建立3个表: S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄 C(C#,CN)C#,CN分别代表课程编号、课程名称 SC(S#,C#,G)S#,C#,G分别代表学号、所选修的课程编号、学习成绩 1.使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名SelectSN,SDFROMSWhere[S#]IN(Select[S#]FROMC,SCWhereC.[C#]=SC.[C#] ANDCN=N'税收基础') 2.使用标准SQL嵌套语句查询选修课程编号为’C2’的
2、学员姓名和所属单位SelectSN,SDFROMS Where[S#]IN( Select[S#]FROMSCWhere[C#]='C2')3.使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位SelectSN,SDFROMS Where[S#]NOTIN( Select[S#]FROMSC Where[C#]='C5')4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位SelectSN,SDFROMS Where[S#]IN( Select[S#]FromSCGROUPBY[S#]HAVINGCount(DistinctC#
3、)5.查询选修了课程的学员人数Select学员人数=COUNT(DISTINCT[S#])FROMSC6.查询选修课程超过5门的学员学号和所属单位 SelectSN,SDFROMS Where[S#]IN( Select[S#]FROMSC GROUPBY[S#] HAVINGCOUNT(DISTINCT[C#])>5)题目2 问题描述: 已知关系模式: S(SNO,SNAME)学生关系。SNO为学号,SNAME为姓名 C(CNO,CNAME,CTEACHER)课程关系。CNO为课程号,CNAME为课程名,CTEACHER为任课教师 SC(SNO,CNO
4、,SCGRADE)选课关系。SCGRADE为成绩1.找出没有选修过“李明”老师讲授课程的所有学生姓名SelectSNAMEFROMS WhereNOTEXISTS( Select*FROMSC,C WhereSC.CNO=C.CNO ANDCNAME='李明' ANDSC.SNO=S.SNO) 2.列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 SelectS.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE) FROMS,SC,( SelectSNO FROMSC WhereSCGRADE<60 GROUPB
5、YSNO HAVINGCOUNT(DISTINCTCNO)>=2 )AWhereS.SNO=A.SNOANDSC.SNO=A.SNO GROUPBYS.SNO,S.SNAME 3.列出既学过“1”号课程,又学过“2”号课程的所有学生姓名 SelectS.SNO,S.SNAME FROMS,( SelectSC.SNO FROMSC,C WhereSC.CNO=C.CNO ANDC.CNAMEIN('1','2') GROUPBYSNO HAVINGCOUNT(DISTINCTCNO)=2 )SCWhereS.SNO=SC.SNO 4.列出“1”
6、号课成绩比“2”号同学该门课成绩高的所有学生的学号 SelectS.SNO,S.SNAME FROMS,( SelectSC1.SNO FROMSCSC1,CC1,SCSC2,CC2 WhereSC1.CNO=C1.CNOANDC1.NAME='1' ANDSC2.CNO=C2.CNOANDC2.NAME='2' ANDSC1.SCGRADE>SC2.SCGRADE )SCWhereS.SNO=SC.SNO 5.列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩 SelectS.SNO,S.SNAME,SC.[1号课成
7、绩],SC.[2号课成绩] FROMS,( SelectSC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE FROMSCSC1,CC1,SCSC2,CC2 WhereSC1.CNO=C1.CNOANDC1.NAME='1' ANDSC2.CNO=C2.CNOANDC2.NAME='2' ANDSC1.SCGRADE>SC2.SCGRADE )SCWhereS.SNO=SC.SNOSQLServer笔试题(Sql2000常见笔试题) 一单词解释(2分/个)34分