第三章關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言_第1頁(yè)
第三章關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言_第2頁(yè)
第三章關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言_第3頁(yè)
第三章關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言_第4頁(yè)
第三章關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)系A(chǔ)nIntroductiontoDatabase章關(guān)(續(xù)大學(xué)信.1單表3.4.2連接3.4.3嵌套3.4.4集合連接查[<表名1>.]<列名1><比較運(yùn)算符>[<表名2>.]<列名[<表名1>.]<列名1BETWEEN[<表名2>.]<列名2AND[<表名2>.]<列名連接字段連接條件中的各連接字段類型必須是可比的,但名字不必是相同嵌套循環(huán)法(NESTED-首先在表1滿足連接件的元組,找到后就將表中的第一個(gè)元組與該元組拼2表2,逐一查找滿足連接條件的元組,找到后就將表重復(fù)上述操作,直到表1排序合并法(SORT-排序合并法(SORT-連接條件的元組,找到后就將表1中的第一個(gè)元組與該元組拼接起來,形成結(jié)果表中一個(gè)元組。當(dāng)遇到表2中找到表1的第二條元組,然后從剛才的中斷點(diǎn)處繼續(xù)順?biāo)饕B接(INDEX-索引連接(INDEX-對(duì)表2按連接字段建立索對(duì)表1中的每個(gè)元組,依次根據(jù)其連接字段值查詢表2的索引,從中找到滿足條件的元組,找到后就將表1中的第一個(gè)元組與該元組拼接起來,形成結(jié)連接查詢(續(xù)連接查詢(續(xù)[例33]查詢每個(gè)學(xué)生及其選修課程的情況SELECTStudent.*,SC.* WHEREStudent.Sno=等值與非等值連接查詢(續(xù)查詢結(jié)男 1男 2男 3女 2 等值與非等值連接查詢(續(xù)等值與非等值連接查詢(續(xù)[例 對(duì)[例33]用自然連接完成SELECT WHEREStudent.Sno=連接查詢(續(xù)連接查詢(續(xù)自身連接: FROMCourseFIRST,CourseWHEREFIRST.Cpno 自身連接(續(xù)自身連接(續(xù)數(shù)信息操作5數(shù)據(jù)746數(shù)據(jù)2764自身連接(續(xù)自身連接(續(xù)操作5數(shù)據(jù)746數(shù)據(jù)2764自身連接(續(xù)自身連接(續(xù) 連接查詢(續(xù)連接查詢(續(xù)普通連接操作只輸出外連接操作以指定表元組一并輸[36]改寫[例SELECTFROMStudentLEFTOUTJOINSCON外連接(續(xù)執(zhí)行結(jié)男1男2男3女2 外連接(續(xù)外連接(續(xù)連接查詢(續(xù)連接查詢(續(xù)[例37]查詢選修2號(hào)課程且成績(jī)?cè)?0分以上的所有學(xué)SELECTStudent.Sno,Sname Student,SCWHEREStudent.Sno=SC.Sno/*連接謂詞o=‘2’ANDSC.Grade>復(fù)合條件連接(續(xù) SELECTStudent.Sno,Sname,Cname,Grade WHEREStudent.Sno=SC.Sno o .1單表3.4.2連接3.4.3嵌套3.4.4集合嵌套查詢(嵌套查詢(續(xù)一個(gè)SELECT-FROM-WHERE語(yǔ)句稱為一個(gè)嵌套查詢嵌套查詢(續(xù)SELECTSnameFROMStudentWHERESnoIN(SELECTFROM

WHERECno='2嵌套查詢(嵌套查詢(續(xù)不能使用ORDERBY嵌套查詢求解方法(續(xù)嵌套查詢求解方法(續(xù).3四、帶有EXISTS謂詞的子查詢一、帶有IN謂詞的[例39]查詢與“ SELECT WHERESname= 結(jié)果帶有IN謂詞的子查詢(續(xù)

WHERESdept='CS結(jié)果

帶有IN謂詞的子查詢(續(xù)SELECTFROMStudentWHERESdeptIN(SELECTFROMWHERESname=‘ 帶有IN謂詞的子查詢(續(xù)SELECTS1.Sno,S1.Sname,S1.Sdept StudentS1,StudentS2WHERES1.Sdept=S2.SdeptANDS2.Sname=' 帶有IN謂詞的子查詢(續(xù)[例40]查詢選修了課程名為“信息系統(tǒng)”SELECT WHERESno(SELECTSno WHERECnoINFROM

修了3號(hào)課程的學(xué)生學(xué)“信息系統(tǒng)”的課程號(hào),為3WHERECname=‘信息系統(tǒng))帶有IN帶有IN謂詞的子查詢(續(xù)SELECT WHEREStudent.Sno=SC.Snoo o.3四、帶有EXISTS謂詞的子查詢 算符(>,<,=,>=,<=,!=或<>)。帶有比較運(yùn)算符的子查詢(續(xù)系,則在[例39]可以代替INSELECT WHERE (SELECT WHERESname= 帶有比較運(yùn)算符的子查詢(續(xù)SELECT WHERE(SELECTFROMWHERESname= ’=帶有比較運(yùn)算符的子查詢(續(xù)帶有比較運(yùn)算符的子查詢(續(xù)相關(guān)子查FROM相關(guān)子查WHEREGrade>=(SELECTFROMSCWHERE帶有比較運(yùn)算符的子查詢(續(xù)帶有比較運(yùn)算符的子查詢(續(xù)從外層查詢中取出SC的一個(gè)元組x,將元組x的Sno SELECTFROMSCWHERE FROMSCWHEREGrade帶有比較運(yùn)算符的子查詢(續(xù)帶有比較運(yùn)算符的子查詢(續(xù) .3四、帶有EXISTS謂詞的子查詢ANY:任意一個(gè)帶有帶有ANY(SOME)或ALL謂詞的子查詢(續(xù)>><<>=>=<=<==

!=(或!=(或

帶有ANY(SOME)或ALL謂詞的子查詢(續(xù)[例42]查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué) SELECT WHERESage<ANY(SELECT WHERESdept='CS')ANDSdeptCS 帶有ANY(SOME)或ALL謂詞的子查詢(續(xù)

RDBMS執(zhí)行此查詢時(shí),首先處理子查CS系中所有學(xué)生 2019帶有ANY(SOME)或ALL謂詞的子查詢(續(xù) SELECTSname,Sage WHERESage<(SELECTFROMWHERESdept=‘CS')ANDSdept<>'CS’;帶有ANY(SOME)或ALL謂詞的子查詢(續(xù)[例43]查詢其他系中比計(jì)算機(jī)科學(xué)系所有學(xué)生 SELECTSname,SageFROMStudentWHERESage<(SELECTFROMWHERESdept='CS')ANDSdept<>'CS’;帶有ANY(SOME)或ALL謂詞的子查詢(續(xù) SELECTSname,SageFROMStudentWHERESage(SELECTFROMStudentWHERESdept='CS')ANDSdept<>'CS帶有ANY(SOME)或ALL謂詞的子查詢(續(xù)表3.5ANY(或SOME),ALL謂詞 函數(shù)、IN謂詞的等價(jià)轉(zhuǎn)換關(guān)=<>或<>->=NOT<=>=.3四、帶有EXISTS謂詞的子查詢帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)存在量詞帶有EXISTS“true”或邏輯假值“false”若內(nèi)層查詢結(jié)果為空,則外層的WHERE子句返回假由EXISTS引出的子查詢,其目標(biāo)列表達(dá)式通常都用*,因?yàn)槿魞?nèi)層查詢結(jié)果為空,則外層的WHERE子句返回真帶有EXISTS謂詞的子查詢(續(xù)[例44]查詢所有選修了1號(hào)課程的學(xué) 本查詢涉及Student和SC在Student中依次取每個(gè)元組的Sno值,用此值去檢查SCC.Cno='1'm帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)SELECTSnameFROMStudentWHEREFROMWHERESno=Student.SnoANDCno='1帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)SELECTSnameFROMStudent,SC o=帶有EXISTS謂詞的子查詢(續(xù)[例45]查詢沒有選修1號(hào)課程的學(xué) SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROMWHERESno=Student.SnoAND帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)不同形式的查詢間的一些帶EXISTS或NOTEXISTS查詢等價(jià)替所有帶IN謂詞、比較運(yùn)算符、ANY和ALLEXISTS謂詞的子查詢等價(jià)替用EXISTS/NOTEXISTS實(shí)現(xiàn)全稱量詞(難點(diǎn)可以把帶有全稱量詞(x)P≡(x(帶有EXISTS謂詞的子查詢(續(xù) SELECTSno,Sname,SdeptFROMStudentWHERE(SELECTFROMStudentWHERES2.Sdept=S1.SdeptS2.Sname= 帶有EXISTS謂詞的子查詢(續(xù)[例46]查詢選修了全部課程的學(xué) SELECTSnameFROMStudentWHERENOTEXISTS(SELECTFROMWHERENOT(SELECT*FROMWHERESno=AND )帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)pq≡帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù) 則上述查詢?yōu)閥)p帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)(y)pq≡(y((pq≡(y((p∨q)≡ 帶有EXISTS帶有EXISTS謂詞的子查詢(續(xù)用NOTEXISTS謂詞表示SELECTDISTINCTSnoFROMSCSCXWHERENOTEXISTS(SELECT*FROMSCSCYWHERESCY.Sno= NOTEXISTS(SELECT*FROMSCSCZWHERESCZ.Sno=SCX.Sno.1單表查3.4.2連接3.4.3嵌套3.4.4集合并操作差操作參加集合操作的各查詢結(jié)果的列數(shù)必須相同;對(duì)集合查詢(續(xù)[例48]查詢計(jì)算機(jī)科學(xué)系的學(xué)生及 SELECTFROMStudentWHERESdept='CS'SELECTFROMWHERE集合查詢(續(xù)集合查詢(續(xù)SELECTDISTINCTFROMWHERESdept='CS'OR集合查詢(續(xù)集合查詢(續(xù)[例49]查詢選修了課程1或者選修了課程2SELECTSnoFROMSCWHERECno='1'FROMSCWHERECno='2集合查詢(續(xù)[例50]查詢計(jì)算機(jī)科學(xué)系的學(xué)生與 SELECTFROMStudentWHERESdept='CS'SELECT*FROMStudentWHERESage<=19集合查詢(續(xù)[例50]實(shí)際上就是查詢計(jì)算機(jī)科學(xué)系中 SELECTFROMWHERESdept='CS'AND集合查詢(續(xù)集合查詢(續(xù)[例51]查詢選修課程1的學(xué)生集合與選修課程2的學(xué)生集SELECTSnoFROMSCWHERECno='1'SELECTSnoFROMSCWHERECno='2';集合查詢(續(xù)集合查詢(續(xù)SELECTFROMWHERECno='1'ANDSnoFROMSCWHERECno='2集合查詢(續(xù)[例52]查詢計(jì)算機(jī)科學(xué)系的學(xué)生 SELECTFROMS

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論