欢迎来到天天文库
浏览记录
ID:12673430
大小:60.50 KB
页数:5页
时间:2018-07-18
《关系代数和sql练习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、对下列关系模式分别用关系代数、和SQL实现下列查询理解下面几句话:1.SQL语言是具有很坚实数学基础的语言2.SQL语言是介于关系代数和关系演算之间的结构化查询语言3.一个查询只要能用关系代数或关系演算实现,必能用SQL实现4.一个查询即能用关系代数、关系演算、SQL实现5.在SQL语言中,能用非EXISTS谓词实现的查询,均能用EXISTS谓词实现,反之不一定。 1.查询学生95001的所有信息。①关系代数:②SQL语言:SELECT*FROMStudentWHERESno='95001' 2.查询学生95001的姓名
2、和所在系。①关系代数:②SQL语言:方法一:SELECTSname,SdeptFROMStudentWHERESno='95001'方法二:SELECTSname,SdeptFROMStudentWHEREEXISTS(SELECT*FROMStudentSXWHEREStudent.Sno=SX.SnoANDSX.Sno='95001')方法三:SELECTSname,SdeptFROMStudentWHERESnoIN(SELECTSnoFROMStudentWHERESno='95001') 3.查询选修了1号课的
3、学生的学号。①关系代数:②SQL语言:方法一:SELECTSnoFROMSCWHERECno='1'方法二:SELECTSnoFROMSCWHEREEXISTS(SELECT*FROMSCSCXWHERESC.Sno=SCX.SnoANDSCX.Cno='1')方法三:SELECTSnoFROMSCWHERESnoIN(SELECTSnoFROMSCWHERECno='1') 4.查询选修了1号课的学生的姓名。①关系代数:②SQL语言:方法一:SELECTSnameFROMStudent,SCWHERESC.Sno=St
4、udent.SnoANDCno='1'方法二:SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHERESC.Sno=Student.SnoANDCno='1')方法三:SELECTSnameFROMStudentWHERESnoIN(SELECTSnoFROMSCWHERECno='1') 5.查询至少选修了1号课和3号课的学生的学号。①关系代数:或或:首先建立一个临时关系K:cno13然后求:πSno.Cno(SC)÷K②SQL语言:方法一:SELECTSCX.SnoFR
5、OMSC,SCSCXWHERESC.Cno='1'ANDSCX.Sno=SC.SnoANDSCX.Cno='3'方法:SELECTSnoFROMSCWHEREEXISTS(SELECT*FROMSCSCXWHERESC.Cno='1'ANDSCX.Sno=SC.SnoANDSCX.Cno='3')方法二:SELECTSnoFROMSCWHERECno='1'ANDSnoIN(SELECTSnoFROMSCWHERECno='3') 6.查询至少选修了一门其直接先行课为5号课的学生学号。①关系代数:②SQL语言:方法一:S
6、ELECTSnoFROMSC,CourseWHERESC.Cno=Course.CnoANDCourse.Cpno='5'方法二:SELECTSnoFROMSCWHEREEXISTS(SELECT*FROMCourseWHERESC.Cno=Course.CnoANDCourse.Cpno='5')方法三:SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMCourseWHERECpno='5') 7.查询至少选修了一门其直接先行课为5号课的学生姓名。①关系代数:②SQL语言:方法一:SELEC
7、TSnameFROMStudent,SC,CourseWHEREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCourse.Cpno='5'方法二:SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHEREStudent.Sno=SC.SnoANDEXISTS(SELECT*FROMCourseWHERESC.Cno=Course.CnoANDCourse.Cpno='5'))方法三:SELECTSnameFROMStudentWHERES
8、noIN(SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMCourseWHERECpno='5')) 8.查询没有选修1号课程的学生姓名。①关系代数:②SQL语言:SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHEREStudent
此文档下载收益归作者所有