資源描述:
《關(guān)系代數(shù)和sql練習(xí)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、對(duì)下列關(guān)系模式分別用關(guān)系代數(shù)、和SQL實(shí)現(xiàn)下列查詢理解下面幾句話:1.SQL語言是具有很堅(jiān)實(shí)數(shù)學(xué)基礎(chǔ)的語言2.SQL語言是介于關(guān)系代數(shù)和關(guān)系演算之間的結(jié)構(gòu)化查詢語言3.一個(gè)查詢只要能用關(guān)系代數(shù)或關(guān)系演算實(shí)現(xiàn),必能用SQL實(shí)現(xiàn)4.一個(gè)查詢即能用關(guān)系代數(shù)、關(guān)系演算、SQL實(shí)現(xiàn)5.在SQL語言中,能用非EXISTS謂詞實(shí)現(xiàn)的查詢,均能用EXISTS謂詞實(shí)現(xiàn),反之不一定。?1.查詢學(xué)生95001的所有信息。①關(guān)系代數(shù):②SQL語言:SELECT*FROMStudentWHERESno='95001'?2.查詢學(xué)生95001的姓名和所在系。①關(guān)系代數(shù):②SQL語言:方法一:SELECTSname,
2、SdeptFROMStudentWHERESno='95001'方法二:SELECTSname,SdeptFROMStudentWHEREEXISTS(SELECT*FROMStudentSXWHEREStudent.Sno=SX.SnoANDSX.Sno='95001')方法三:SELECTSname,SdeptFROMStudentWHERESnoIN(SELECTSnoFROMStudentWHERESno='95001')?3.查詢選修了1號(hào)課的學(xué)生的學(xué)號(hào)。①關(guān)系代數(shù):②SQL語言:方法一:SELECTSnoFROMSCWHERECno='1'方法二:SELECTSnoFROMS
3、CWHEREEXISTS(SELECT*FROMSCSCXWHERESC.Sno=SCX.SnoANDSCX.Cno='1')方法三:SELECTSnoFROMSCWHERESnoIN(SELECTSnoFROMSCWHERECno='1')?4.查詢選修了1號(hào)課的學(xué)生的姓名。①關(guān)系代數(shù):②SQL語言:方法一:SELECTSnameFROMStudent,SCWHERESC.Sno=Student.SnoANDCno='1'方法二:SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHERESC.Sno=Student.SnoANDCno='1
4、')方法三:SELECTSnameFROMStudentWHERESnoIN(SELECTSnoFROMSCWHERECno='1')?5.查詢至少選修了1號(hào)課和3號(hào)課的學(xué)生的學(xué)號(hào)。①關(guān)系代數(shù):或或:首先建立一個(gè)臨時(shí)關(guān)系K:cno13然后求:πSno.Cno(SC)÷K②SQL語言:方法一:SELECTSCX.SnoFROMSC,SCSCXWHERESC.Cno='1'ANDSCX.Sno=SC.SnoANDSCX.Cno='3'方法:SELECTSnoFROMSCWHEREEXISTS(SELECT*FROMSCSCXWHERESC.Cno='1'ANDSCX.Sno=SC.SnoAN
5、DSCX.Cno='3')方法二:SELECTSnoFROMSCWHERECno='1'ANDSnoIN(SELECTSnoFROMSCWHERECno='3')?6.查詢至少選修了一門其直接先行課為5號(hào)課的學(xué)生學(xué)號(hào)。①關(guān)系代數(shù):②SQL語言:方法一:SELECTSnoFROMSC,CourseWHERESC.Cno=Course.CnoANDCourse.Cpno='5'方法二:SELECTSnoFROMSCWHEREEXISTS(SELECT*FROMCourseWHERESC.Cno=Course.CnoANDCourse.Cpno='5')方法三:SELECTSnoFROMSCW
6、HERECnoIN(SELECTCnoFROMCourseWHERECpno='5')?7.查詢至少選修了一門其直接先行課為5號(hào)課的學(xué)生姓名。①關(guān)系代數(shù):②SQL語言:方法一:SELECTSnameFROMStudent,SC,CourseWHEREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCourse.Cpno='5'方法二:SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHEREStudent.Sno=SC.SnoANDEXISTS(SELECT*FROMCourseWHERESC.Cno=Cou
7、rse.CnoANDCourse.Cpno='5'))方法三:SELECTSnameFROMStudentWHERESnoIN(SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMCourseWHERECpno='5'))?8.查詢沒有選修1號(hào)課程的學(xué)生姓名。①關(guān)系代數(shù):②SQL語言:SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMSCWHEREStudent