数据库语言SQL作业解答

数据库语言SQL作业解答

ID:47414337

大小:58.50 KB

页数:7页

时间:2019-06-27

数据库语言SQL作业解答_第1页
数据库语言SQL作业解答_第2页
数据库语言SQL作业解答_第3页
数据库语言SQL作业解答_第4页
数据库语言SQL作业解答_第5页
资源描述:

《数据库语言SQL作业解答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQL语言习题1.关系数据模型如下:学生S(SNO,SN,SEX,AGE)课程C(CNO,CN,PCNO)PCNO为直接先行课号选课SC(SNO,CNO,GR)GR为课程考试成绩用SQL写出查询程序:选修课程“DB”的学生姓名SN。方法1.SELECTSNFROMSWHERESNOIN(SELECTSNOFROMSCWHERECNOIN(SELECTCNO/*=*/FROMCWHERECN=‘DB’));方法2.SELECTSNFROMS,SC,CWHERES.SNO=SC.SNOANDSC.CNO=C.CNOA

2、NDCN=“DB”;2.关系数据模型如下:学生S(SNO,SN,SEX,AGE)课程C(CNO,CN,PCNO)PCNO为直接先行课号选课SC(SNO,CNO,GR)GR为课程考试成绩用SQL写出查询程序:查询课程名和它的直接先行课的课程名以及它的间接先行课的课程名。SELECTCN,CX.CN,CY.CNFROMC,CCX,CCYWHEREC.PCNO=CX.CNOANDCX.PCNO=CY.CNO[例41]找出每个学生超过他选修课程平均成绩的课程号。SELECTSno,CnoFROMSCxWHEREGrade

3、>=(SELECTAVG(Grade)FROMSCyWHEREy.Sno=x.Sno);3.关系数据模型如下P84例4.26学生S(SNO,SN,SEX,AGE)课程C(CNO,CN,PCNO)PCNO为直接先行课号选课SC(SNO,CNO,GR)GR为课程考试成绩用SQL写出查询程序:所有学生都选修的课程名CN。方法1.SELECTCNFROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERESNO=S.SNOANDCNO=C.CNO);(

4、"x)P≡Ø($x(ØP))变换后语义:不存在这样的学生x,该学生没有选修P。方法2.SELECTCNFROMCWHERECNOIN(SELECTCNOFROMSCGROUPBYCNOHAVINGCOUNT(*)=(SELECTCOUNT(*)FROMS));[例46]查询选修了全部课程的学生姓名。SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMCourseWHERENOTEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno=

5、Course.Cno));变换后语义:不存在这样的课程x,该学生没有选修P。4.假设学生一课程数据库关系模式如下:Student(Sno,Sname,Sage,Ssex);Course(Cno,Cname,Teacher);SC(Sno,Cno,Grade)。用SQL语句表达下列查询:(1)找出刘老师所授课程的课程号和课程名;(2)找出年龄小于22岁的女学生的学号和姓名。1.SELECTCno,CnameFROMCourseWHERETeacherLIKE“刘%”/*%_*/2.SELECTSNO,SNAMEFR

6、OMStudentWHERESAGE<22ANDSSEX=’女’5.假设学生一课程数据库关系模式如下:Student(Sno,Sname,Sage,Ssex);Course(Cno,Cname,Teacher);SC(Sno,Cno,Grade)。用SQL语句表达下列查询:(1)找出至少选修刘老师讲的一门课的学生姓名;(2)找出“程序设计”课成绩在90分以上的学生的姓名;(3)检索至少选修了课程号为‘C1和‘C3’的学生号。答案1.SELECTSNAMEFROMSTUDENT,SC,COURSEWHERESTUD

7、ENT.SNO=SC.CNOANDSC.CNO=COURSE.CNOANDTEACHERLIKE“刘%”2.SELECTSNAMEFROMSTUDENT,SC,COURSEWHERESTUDENT.SNO=SC.SNOANDSC.CNO=COURSE.CNOANDCNAME=”程序设计”ANDGRADE>903.SELECTSno教科书:P80***例4.18FROMSCSC1,SCSC2WHERESC1.Sno=SC2.SnoANDSC1.Cno=’C1’ANDSC2.Cno=’C3’[例51]查询既选修了课程

8、1又选修了课程2的学生SELECTSnoFROMSCWHERECno='1'ANDSnoIN(SELECTSnoFROMSCWHERECno='2');SELECTSnoFROMSCWHERECno=’C1’ORCno=’C3’/*AND*/6.假设学生一课程数据库关系模式如下:Student(Sno,Sname,Sage,Ssex);Course(Cno,Cname,T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。