版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、查詢問題:設(shè)教學(xué)數(shù)據(jù)庫查詢問題:設(shè)教學(xué)數(shù)據(jù)庫EducationEducation有三個關(guān)系:有三個關(guān)系:學(xué)生關(guān)系學(xué)生關(guān)系S(SNOSNO,SNAMESNAME,AGEAGE,SEXSEX,SDEPTSDEPT);學(xué)習(xí)關(guān);學(xué)習(xí)關(guān)系SCSC(SNOSNO,CNOCNO,GRADEGRADE);課程關(guān)系;課程關(guān)系C(CNOCNO,CNAMECNAME,CDEPTCDEPT,TNAMETNAME)(1)檢索計算機系的全體學(xué)生的學(xué)號,姓名和性別;
2、檢索計算機系的全體學(xué)生的學(xué)號,姓名和性別;(2)檢索學(xué)習(xí)課程號為檢索學(xué)習(xí)課程號為C2C2的學(xué)生學(xué)號與姓名;的學(xué)生學(xué)號與姓名;(3)檢索選修課程名為檢索選修課程名為“DS”“DS”的學(xué)生學(xué)號與姓名;的學(xué)生學(xué)號與姓名;(4)檢索選修課程號為)檢索選修課程號為C2C2或C4C4的學(xué)生學(xué)號;的學(xué)生學(xué)號;(5)檢索至少選修課程號為)檢索至少選修課程號為C2C2和C4C4的學(xué)生學(xué)號;的學(xué)生學(xué)號;(6)檢索不學(xué))檢索不學(xué)C2C2課的學(xué)生姓名和年齡;課
3、的學(xué)生姓名和年齡;(7)檢索學(xué)習(xí)全部課程的學(xué)生姓名;)檢索學(xué)習(xí)全部課程的學(xué)生姓名;(8)查詢所學(xué)課程包含學(xué)生)查詢所學(xué)課程包含學(xué)生S3S3所學(xué)課程的學(xué)生學(xué)號。所學(xué)課程的學(xué)生學(xué)號。(1)檢索計算機系的全體學(xué)生的學(xué)號,姓名和性別;)檢索計算機系的全體學(xué)生的學(xué)號,姓名和性別;SnoSno,SnameSname,SexSexFROMFROMSWHEREWHERESdeptSdept=’CS’=’CS’;(2)檢索學(xué)習(xí)課程號為)檢索學(xué)習(xí)課程號為C
4、2C2的學(xué)生學(xué)號與姓名;的學(xué)生學(xué)號與姓名;(3)檢索選修課程名為)檢索選修課程名為“DS”“DS”的學(xué)生學(xué)號與姓名的學(xué)生學(xué)號與姓名本查詢涉及到學(xué)號、姓名和課程名三個屬性,分本查詢涉及到學(xué)號、姓名和課程名三個屬性,分別存放在別存放在S和C表中,但表中,但S和C表沒有直接聯(lián)系,必表沒有直接聯(lián)系,必須通過須通過SCSC表建立它們二者的聯(lián)系。表建立它們二者的聯(lián)系。C→SCSC→S基本思路:基本思路:(1)首先在)首先在C表中找出表中找出“DS”
5、“DS”課程的課程號課程的課程號CnoCno;(2)然后在)然后在SCSC表中找出表中找出CnoCno等于第一步給出的等于第一步給出的CnoCno集合中的某個元素集合中的某個元素CnoCno;(3)最后在)最后在S關(guān)系中選出關(guān)系中選出SnoSno等于第二步中等于第二步中SnoSno集合集合中某個元素的元組,取出中某個元素的元組,取出SnoSno和SnameSname送入結(jié)果表列。送入結(jié)果表列。SnoSno,SnameSnameFROMF
6、ROMSWHEREWHERESnoSnoININ(SnoSnoFROMFROMSCSCWHEREWHERECnoCnoININ(CnoCnoFROMFROMCWHEREWHERECname=‘DS’Cname=‘DS’));(4)檢索選修課程號為檢索選修課程號為C2C2或C4C4的學(xué)生學(xué)號;的學(xué)生學(xué)號;SnoSnoFROMFROMSCSCWHEREWHERECno=‘C2’Cno=‘C2’Cno=‘C4’Cno=‘C4’;(5)檢索至少
7、選修課程號為檢索至少選修課程號為C2C2和C4C4的學(xué)生學(xué)號;的學(xué)生學(xué)號;SnoSnoFROMFROMSCSCX,SCSCYWHEREWHEREX.Sno=Y.SnoX.Sno=Y.Snoo=‘C2’o=‘C2’o=‘C4’o=‘C4’;(6)檢索不學(xué)檢索不學(xué)C2C2課的學(xué)生姓名和年齡;課的學(xué)生姓名和年齡;(7)檢索學(xué)習(xí)全部課程的學(xué)生姓名;檢索學(xué)習(xí)全部課程的學(xué)生姓名;在表在表S中找學(xué)生,要求這個學(xué)生學(xué)了全部課程。換言中找學(xué)生,要求這個學(xué)
8、生學(xué)了全部課程。換言之,在之,在S表中找學(xué)生,在表中找學(xué)生,在C中不存在一門課程,這個中不存在一門課程,這個學(xué)生沒有學(xué)。學(xué)生沒有學(xué)。SnameSnameFROMFROMSWHEREWHERENOTNOTEXISTSEXISTS(FROMFROMCWHEREWHERENOTNOTEXISTSEXISTS(FROMFROMSCSCWHEREWHERESC.Sno=S.SnoSC.Sno=S.Snoo=oo=o));(8)查詢所學(xué)課程包含學(xué)生
9、查詢所學(xué)課程包含學(xué)生S3S3所學(xué)課程的學(xué)生學(xué)號。所學(xué)課程的學(xué)生學(xué)號。分析:不存在這樣的課程分析:不存在這樣的課程Y,學(xué)生,學(xué)生S3S3選了選了Y,而其他,而其他學(xué)生沒有選。學(xué)生沒有選。DISTINCTDISTINCTSnoSnoFROMFROMSCSCASASXWHEREWHERENOTNOTEXISTSEXISTS(FROMFROMSCSCASASYWHEREWHEREY.Sno=‘S3’Y.Sno=‘S3’NOTNOTEXISTSE
10、XISTS(FROMFROMSCSCASASZWHEREWHEREZ.Sno=X.SnoZ.Sno=X.Snoo=oo=o));2.S.Sno,SnameFROMS,SCWHERES.Sno=SC.Snoo=‘C2’1.Sno,SnameFROMSWHERESnoIN(SnoFROMSCWHERECno=‘C2’)1.SnameFROMSWHERESnoNOTIN(SnoFROMSCWHERECno=‘C2’);2.SnameFROMS
11、WHERENOTEXISTS(FROMSCWHERESC.Sno=S.SnoCno=‘C2’);SnameSname,SsexSsexFROMFROMSWHEREWHERESdeptSdeptNOTNOTININ(’CS’’CS’‘IS’‘IS’‘MATH’‘MATH’);(4)字符匹配)字符匹配例6:查所有姓:查所有姓“劉”的學(xué)生的姓名、學(xué)號和性別。的學(xué)生的姓名、學(xué)號和性別。SnameSname,SnoSno,SsexSsexFROM
12、FROMSWHEREWHERESnameSnameLIKELIKE‘劉%’%’;例7:查姓:查姓“上官上官”且全名為且全名為3個漢字的學(xué)生姓名。個漢字的學(xué)生姓名。SnameSnameFROMFROMSWHEREWHERESnameSnameLIKELIKE‘上官上官__’_’;例8:查所有不姓:查所有不姓“張”的學(xué)生的姓名。的學(xué)生的姓名。SnameSname,SnoSno,SsexSsexFROMFROMSWHEREWHERESname
13、SnameNOTNOTLIKELIKE‘張%’%’;例9:查:查DB_DesignDB_Design課程的課程號。課程的課程號。CnoCnoFROMFROMCWHEREWHERECnameCnameLIKELIKE‘DB_Design’‘DB_Design’ESCAPEESCAPE‘’‘’;(5)(5)涉及空值的查詢涉及空值的查詢例1010:查缺考的學(xué)生的學(xué)號和課程號。:查缺考的學(xué)生的學(xué)號和課程號。SnoSno,CnoCnoFROMFR
14、OMSCSCWHEREWHEREGradeGradeISISNULLNULL;(不能用(不能用=代替)代替)有成績的有成績的WHEREWHEREGradeGradeISISNOTNOTNULLLNULLL;例1111:查年齡為空值的學(xué)生的學(xué)號和姓名。:查年齡為空值的學(xué)生的學(xué)號和姓名。SnoSno,SnameSnameFROMFROMSWHEREWHERESageSageISISNULLNULL;(6)多重條件查詢)多重條件查詢例1212
15、:查計算機系:查計算機系2020歲以下的學(xué)生的學(xué)號和姓名。歲以下的學(xué)生的學(xué)號和姓名。SnoSno,SnameSnameFROMFROMSWHEREWHERESdept=‘CS’Sdept=‘CS’Sage33;WHEREWHERE子句與子句與HAVINGHAVING短語的根本區(qū)別在于作用對象不短語的根本區(qū)別在于作用對象不同。同。WHEREWHERE子句作用于基本表或視圖,從中選擇滿足條子句作用于基本表或視圖,從中選擇滿足條件的元組。件的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫sql查詢語句練習(xí)題
- 數(shù)據(jù)庫sql查詢語句練習(xí)習(xí)題結(jié)果單世民
- oracle數(shù)據(jù)庫sql查詢語句優(yōu)化方法研究
- 數(shù)據(jù)庫中的常用sql語句
- 數(shù)據(jù)庫sql查詢語句練習(xí)習(xí)題結(jié)果單世民倉庫習(xí)題
- microsoft access數(shù)據(jù)庫中sql語句大全
- sql數(shù)據(jù)庫查詢優(yōu)化
- Oracle數(shù)據(jù)庫SQL查詢語句優(yōu)化方法研究論文.doc
- 數(shù)據(jù)庫sql習(xí)題
- oracle數(shù)據(jù)庫查詢語句大全
- oracle數(shù)據(jù)庫sql語句的性能優(yōu)化
- 任務(wù)書 ---- Oracle數(shù)據(jù)庫SQL查詢語句優(yōu)化方法研究.doc
- 學(xué)生選課數(shù)據(jù)庫sql語句練習(xí)題詳細分解答案
- sql數(shù)據(jù)庫習(xí)題及答案+er圖
- 數(shù)據(jù)庫—創(chuàng)建、建表、查詢語句
- 數(shù)據(jù)庫查詢練習(xí)含參考答案
- sql數(shù)據(jù)庫語句大全大全(完全整理版)
- sql數(shù)據(jù)庫復(fù)習(xí)題
- SQL語句分析及數(shù)據(jù)庫安全研究.pdf
- [學(xué)習(xí)]分布式數(shù)據(jù)庫sql語句
評論
0/150
提交評論