版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、連接操作的執(zhí)行過程:嵌套循環(huán)法(NESTED-LOOP)首先在表1中找到第一個(gè)元組,然后從頭開始掃描表2,逐一查找滿足連接件的元組,找到后就將表 1中的第一個(gè)元組與該元組拼接起來,形成結(jié)果表中一個(gè)元組。表2全部查找完后,再找表1中第二個(gè)元組,然后再從頭開始掃描表2,逐一查找滿足連接條件的元 組,找到后就將表1中的第二個(gè)元組與該元組拼接起來,形成結(jié)果表中一個(gè)元組。重復(fù)上述操作,直到表1中的全部元組都處理完畢排序合并法(SORT-MERGE)常用于=連接首先按連接屬性對(duì)表1和表2排序?qū)Ρ?的第一個(gè)元組,從頭開始掃描表2,順序查找滿足連接條件的元組,找到后就將表1 中的第一個(gè)元組與該元組拼接起來,形
2、成結(jié)果表中一個(gè)元組。當(dāng)遇到表2中第一條大于表1 連接字段值的元組時(shí),對(duì)表2的查詢不再繼續(xù)找到表1的第二條元組,然后從剛才的中斷點(diǎn)處繼續(xù)順序掃描表2,查找滿足連接條件的元 組,找到后就將表1中的第二個(gè)元組與該元組拼接起來,形成結(jié)果表中一個(gè)元組。直接遇到 表2中大于表1連接字段值的元組時(shí),對(duì)表2的查詢不再繼續(xù)重復(fù)上述操作,直到表1或表2中的全部元組都處理完畢為止連接查詢(續(xù))一、等值與非等值連接查詢二、自身連接三、外連接四、復(fù)合條件連接一、等值與非等值連接查詢:等值連接:連接運(yùn)算符為=例33查詢每個(gè)學(xué)生及其選修課程的情況SELECT Student.*,SC.*FROMStudent,SCWHER
3、E Student.Sno = SC.Sno ;等值與非等值連接查詢(續(xù))等值與非等值連接查詢(續(xù)):自然連接:例34對(duì)例33 用自然連接完成。SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHERE Student.Sno = SC.Sno;連接查詢(續(xù))一、等值與非等值連接查詢二、自身連接三、外連接四、復(fù)合條件連接二、自身連接:自身連接:一個(gè)表與其自己進(jìn)行連接:需要給表起別名以示區(qū)別:由于所有屬性名都是同名屬性,因此必須使用別名前綴例35查詢每一門課的間接先修課(即先修課的先修課)SELECT FIRST.C
4、no,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno = SECOND.Cno;自身連接(續(xù))FIRST表(Course 表)自身連接(續(xù))SECOND 表(Course 表)自身連接(續(xù))查詢結(jié)果:連接查詢(續(xù))一、等值與非等值連接查詢二、自身連接三、外連接四、復(fù)合條件連接三、外連接:外連接與普通連接的區(qū)別普通連接操作只輸出滿足連接條件的元組外連接操作以指定表為連接主體,將主體表中不滿足連接條件的元組一并輸出例36改寫例33SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Gra
5、deFROM Student LEFT OUT JOIN SC ON (Student.Sno=SC.Sno);執(zhí)行結(jié)果:外連接(續(xù))四、復(fù)合條件連接:復(fù)合條件連接:WHERE子句中含多個(gè)連接條件例37查詢選修2號(hào)課程且成績(jī)?cè)?0分以上的所有學(xué)生SELECT Student.Sno, SnameFROM Student, SCWHERE Student.Sno = SC.Sno AND/*連接謂詞*/SC.Cno=、2 AND SC.Grade 90;/*其他限定條件*/嵌套查詢(續(xù))SELECT Sname/*外層查詢/父查詢*/FROM StudentWHERE Sno IN(SELECT
6、 Sno/*內(nèi)層查詢/子查詢*/FROM SCWHERE Cno= 2 );嵌套查詢(續(xù))-子查詢的限制不能使用O RDER BY子句-層層嵌套方式反映了 SQL語言的結(jié)構(gòu)化-有些嵌套查詢可以用連接運(yùn)算替代id name |id score |lee |1 90 |zhang |2 100 |4 wang |3 70 |一、外連接概念:包括左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接左連接:left join 或 left outer joinselect * from table1 left join table2 on table1.id=table2.id 1 lee 1 902 zhang 2
7、1004 wang NULL NULL右連接:right join 或 right outer joinselect * from table1 right join table2 on table1.id=table2.idlee 1 90zhang 2100NULL NULL 3 70*.內(nèi)連接:join 或 inner joinselect * from tablei join table2 on table1.id=table2.id*1 lee 1 902 zhang 21003.4.3嵌套查詢一、帶有IN謂詞的子查詢二、帶有比較運(yùn)算符的子查詢?nèi)в蠥NY (SOME)或ALL謂詞
8、的子查詢四、帶有EXISTS謂詞的子查詢帶有IN謂詞的子查詢(續(xù))將第一步查詢嵌入到第二步查詢的條件中SELECT Sno,Sname,Sdept FROM StudentWHERE Sdept IN(SELECT SdeptFROM StudentWHERE Sname= 劉晨,);此查詢?yōu)椴幌嚓P(guān)子查詢。3.4.3嵌套查詢一、帶有IN謂詞的子查詢二、帶有比較運(yùn)算符的子查詢?nèi)?、帶有ANY (SOME)或ALL謂詞的子查詢四、帶有EXISTS謂詞的子查詢二、帶有比較運(yùn)算符的子查詢 當(dāng)能確切知道內(nèi)層查詢返回單值時(shí),可用比較運(yùn)算符(,=,=,=,!=或 )o帶有比較運(yùn)算符的子查詢(續(xù))例:假設(shè)一個(gè)學(xué)
9、生只可能在一個(gè)系學(xué)習(xí),并且必須屬于一個(gè)系,則在例39可以用=代替IN :SELECT Sno,Sname,SdeptFROM StudentWHERE Sdept =(SELECT SdeptFROM StudentWHERE Sname=劉晨,);帶有比較運(yùn)算符的子查詢(續(xù))子查詢一定要跟在比較符之后錯(cuò)誤的例子:SELECT Sno,Sname,SdeptFROM StudentWHERE ( SELECT SdeptFROM StudentWHERE Sname=劉晨)=Sdept;帶有比較運(yùn)算符的子查詢(續(xù))例41找出每個(gè)學(xué)生超過他選修課程平均成績(jī)的課程號(hào)。SELECT Sno, Cno
10、FROM SC xWHERE Grade =(SELECT AVG(Grade)FROM SC yWHERESno=x.Sno);1=3.4.3嵌套查詢一、帶有IN謂詞的子查詢二、帶有比較運(yùn)算符的子查詢?nèi)?、帶有ANY (SOME)或ALL謂詞的子查詢四、 帶有EXISTS謂詞的子查詢?nèi)?、帶有ANY (SOME)或ALL謂詞的子查詢謂詞語義-ANY :任意一個(gè)值-ALL :所有值帶有ANY (SOME)或ALL謂詞的子查詢(續(xù))例42查詢其他系中比計(jì)算機(jī)科學(xué)某一學(xué)生年齡小的學(xué)生姓名和年齡SELECT Sname, SageFROM StudentWHERE Sage ANY (SELECT Sa
11、geFROM StudentWHERE Sdept= CS )AND Sdept CS ;/*父查詢塊中的條件*/帶有ANY (SOME)或ALL謂詞的子查詢(續(xù))用聚集函數(shù)實(shí)現(xiàn)例42SELECT Sname, SageFROM StudentWHERE Sage (SELECT MAX(Sage)FROM StudentWHERE Sdept= CS )AND Sdept CS ;帶有ANY (SOME)或ALL謂詞的子查詢(續(xù))例43查詢其他系中比計(jì)算機(jī)科學(xué)系所有學(xué)生年齡都小的學(xué)生姓名及年齡。方法一:用ALL謂詞SELECT Sname,SageFROM StudentWHERE Sage
12、 ALL(SELECT SageFROM StudentWHERE Sdept= CS )AND Sdept CS ;帶有ANY(SOME)或ALL謂詞的子查詢(續(xù))方法二:用聚集函數(shù)SELECT Sname,SageFROM StudentWHERE Sage (SELECT MIN(Sage)FROM StudentWHERE Sdept= CS ) AND Sdept CS ;3.4.3嵌套查詢一、帶有IN謂詞的子查詢二、帶有比較運(yùn)算符的子查詢?nèi)в蠥NY (SOME)或ALL謂詞的子查詢四、帶有EXIST S謂詞的子查詢帶有EXISTS謂詞的子查詢(續(xù)):1. EXIST S 謂詞存
13、在量詞.帶有EXISTS謂詞的子查詢不返回任何數(shù)據(jù),只產(chǎn)生邏輯真值“true”或邏輯假值“false”。A若內(nèi)層查詢結(jié)果非空,則外層的WHERE子句返回真值A(chǔ)若內(nèi)層查詢結(jié)果為空,則外層的WHERE子句返回假值2. NOT EXIST S 謂詞A若內(nèi)層查詢結(jié)果非空,則外層的WHERE子句返回假值a若內(nèi)層查詢結(jié)果為空,業(yè)外層的where子句返回真值一 帶有EXists謂詞的子查詢(續(xù)).用嵌套查詢SELECT SnameFROM StudentWHERE EXISTS(SELECT *FROM SCWHERE Sno=Student.Sno AND Cno= 1 );帶有EXISTS謂詞的子查詢(續(xù))用連接運(yùn)算SELE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)學(xué)生食堂食品安全管理制度
- 養(yǎng)老院工作人員服務(wù)態(tài)度規(guī)范制度
- 企業(yè)內(nèi)部保密責(zé)任追究制度
- 公共交通車輛駕駛?cè)藛T培訓(xùn)考核制度
- 2026年機(jī)器人技術(shù)與未來應(yīng)用趨勢(shì)考核題
- 2026年現(xiàn)代企業(yè)管理知識(shí)測(cè)試題庫企業(yè)戰(zhàn)略與組織管理
- 2026年化工原理與工藝流程模擬練習(xí)題
- 2026年法律職業(yè)資格考試專題訓(xùn)練憲法與行政法
- 2026年祠堂修繕捐款協(xié)議
- 古田會(huì)議永放光芒課件
- 中國重癥超聲臨床應(yīng)用專家共識(shí)
- 潔凈區(qū)環(huán)境監(jiān)測(cè)培訓(xùn)課件
- 北魏《元楨墓志》完整版(硬筆臨)
- 鋁材銷售技巧培訓(xùn)
- 肺奴卡菌病課件
- 2024-2025學(xué)年上學(xué)期深圳高一物理期末模擬卷1
- 胸痛中心聯(lián)合例會(huì)培訓(xùn)
- 天然氣長(zhǎng)輸管道工程培訓(xùn)課件
- 江門市2025屆普通高中高三10月調(diào)研測(cè)試 英語試卷(含答案)
- 天鵝到家合同模板
- 人力資源行業(yè)招聘管理系統(tǒng)設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論