

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、An Intrcxiuction to Database System數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database System第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(續(xù)1): 3.4.1單表査詢 3.4.2連接?xùn)嗽儯?.4.3嵌套査詢: 3.4.4集合査詢. v 表名1 . BETWEEN .v列名2 AND .v列名3:連接字段:連接謂詞中的列名稱連接條件中的各連接字段類型必須是可比的.但名字不必是相同的:嵌套循環(huán)(NESTED-LOOP)肯先住農(nóng) 1 中找到第個(gè)元組,然后從頭開始扌 I 描衣 2,逐代找 滿足連接件的元紐,找到后就將中的第 個(gè)元細(xì) 9 該元組拼 接起來,
2、形成結(jié)果表中一個(gè)元組。農(nóng) 2 全部査找完后,再找表 1 中第:個(gè)元組,然后再從頭開始打描 農(nóng) 2,逐査找滿足連接條件的元組.找到后就將農(nóng) 1 中的第:個(gè) 元組與該元組拼接起來形成結(jié)果農(nóng)中一個(gè)尤組。連接操作的執(zhí)行過程:連接森詢:同時(shí)涉及多個(gè)衣的査詢An Intrcxiuction to Database System車箜上述操作,血到衣 1 中的全部元組都處理完畢An Intrcxiuction to Database System排序合并法(SORT-MERGE)常用于=連接前先按連接屬性對(duì)表1和表2排序?qū)Ρ?的第一個(gè)元組,從頭開始打描表2順序査找滿足連接條件的元組,找到后就將中的第個(gè)元組與該
3、 元組拼接起來,形成結(jié)果表中一個(gè)元組。出遇到麥2中 第-條大于表1連接字段值的元組時(shí),對(duì)農(nóng)2的查詢不再繼續(xù)An Introduction to Database System排序合并法-找到農(nóng)1的第二條尤組, 然后從剛才的中斷點(diǎn)處繼續(xù)順 序打描衣2,査找滿足連接條件的尤紐,找到后就將農(nóng)1中的第一個(gè)尤組與該元組拼接起來,形成結(jié)果農(nóng)中一個(gè) 元組。直接遇到表2中大于表1連接字段值的元組時(shí).對(duì) 衣2的含詢不再繼續(xù)重復(fù)上述操作,直到 Q 或農(nóng)2中的全部元組都處理完畢An Intrcxiuction to Database System為止An Intrcxiuction to Database Syst
4、em索引連接(INDEX-JOIN)對(duì)表中的每個(gè)元組,依次根據(jù)其連接字段值査詢農(nóng)2的索引.從小找到滿足條件的尤組,找到后就將表1中的第一個(gè)元組與該元組拼接起來,形成結(jié)果表中一個(gè)元組一、 等值與非等值連接查詢二、 自身連接三、外連接四、 復(fù)合條件連接對(duì)表2按連接字段建V索引An Introduction to Database SystemAn Intrcxiuction to Database SystemAn Intrcxiuction to Database System一.等值與非等值連接:等值連接:連接運(yùn)算符為二例33杳詢侮個(gè)學(xué)牛及其選修課程的怙:況SELECT Student.*,
5、SC.*FROM Student, SCWHERE Student.Sno =SC.Sno:An Introduction to Database System等值與非等值連接?xùn)嗽儯ɡm(xù))査詢結(jié)果:Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade2(X)215121乍勇男20cs200215121192200215121李勇男20cs200215121285An Intrcxiuction to Database System200215121男20cs200215121388200215122劉晨女19cs2002151220J902DO2I5122劉晨女
6、19cs2(X)215122380等值與非等值連接查詢(!自然連接:例34対例33用D然連接完成。SELECT Student.Sno, Sname. Ssex. Sage. Sdept Cno. GradeFROM Student, SCWHERE Student.Sno = SC.Sno:An Intrcxiuction to Database System一、 等值與非等值連接查詢二、 自身連接三、外連接四、 復(fù)合條件連接二、自身連接:自身連接:一個(gè)表與其自C進(jìn)行連接:需要給表起別名以示區(qū)別:由于所有屬性名都是同名屬性,I対此必須使用別名前綴例35杳詢每一門課的間接先修課(即先修課的先修
7、課)SELECT FIRST.Cno, SECOND.CpnoFROM Course FIRST, Course SECONDWHERE FIRST.Cpno = SECOND.Cno;An Introduction to Database SystemKI匸自身連接(續(xù))An Intrcxiuction to Database SystemFIRSTS (Course農(nóng))CnoCnameCpnoCcrcdit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL 語言64An Introduction to Database System自身連接(續(xù))SEC
8、OND衣(Course衣)An Introduction to Database System自身連接(續(xù))查詢結(jié)果:CnoPcnoI735An Intrcxiuction to Database System連接?xùn)嗽儯ɡm(xù))一. 等值與非等值連接查詢二、 自身連接三. 外連接四、 復(fù)合條件連接An Introduction to Database System三、外連接J外連接9普通連接的區(qū)別評(píng)通連接操作只輸出滿足連接條件的尤組An Intrcxiuction to Database System-外連接操作以指定農(nóng)為連接主體.將匸體衣屮不滿足連接條件的元組-并輸出例 36改寫例 33SELE
9、CT Student.Sno. Sname 90:r其他限定條件7復(fù)合條件連接(續(xù))An Introduction to Database System例38査詢每個(gè)學(xué)牛的學(xué)號(hào).姓名、選修的課程名及成績SELECT Student.Sno, Sname, Cname, GradeFROM Student, SC. Course廣多表連接*/WHERE Student.Sno = SC.Snoand SC.Cno = Course.Cno;An Introduction to Database System3.4數(shù)據(jù)査詢3.4.1單表査詢3.4.2連接?xùn)嗽?.4.3嵌套査詢3.4.4集合査詢3.
10、4.5 Select語句的一般形式An Intrcxiuction to Database System嵌套査詢(續(xù)):嵌套查詢概述 一個(gè)SELECT-FROM-WHEREtft句稱為一個(gè)査詢塊將一個(gè)查詢塊嵌套在另一個(gè)查詢塊的WHERE子句或H AVING短語的條件屮的金詢稱為嵌套査詢SELECT SnameFROM StudentWHERE Sno IN(SELECT SnoFROM SC嵌套査詢(續(xù))廣外層?xùn)嗽?父査詢*/廣內(nèi)層查詢/子?xùn)嗽?/An Intrcxiuction to Database SystemWHERECno=,2,):An Intrcxiuction to Datab
11、ase System嵌套査詢(續(xù)) F査詢的限制不能便用ORDER BY/J層層嵌套方式反映了SQL語言的結(jié)構(gòu)化有些嵌倉代詢可以丿IJ連接運(yùn)算替代An Introduction to Database System嵌套査詢求解方法:不相關(guān)子查詢:$杳詢的倉詢條件不依賴于父含詢由里向外逐層處理。 即每個(gè) (杳詢?cè)谏霞?jí)杳詢處理Z前求解,子杳詢的結(jié)果用J:建工其父杳詢的杳找條 件。嵌套查詢求解方法GAn Introduction to Database System:相關(guān)査詢:獷查詢的杳詢條件依賴于父杳詢首先取外層查詢屮衣的第一個(gè)元組,根據(jù)它9內(nèi)層查詢相關(guān)的屬性值處理內(nèi)屋杳詢,若WHERET句返冋值
12、為貞,則取此元組放入結(jié)果表-然后再取外層表的下一個(gè)元組-朿復(fù)這一過程,亞至外層表全部檢貪完為止An Introduction to Database System3.4.3嵌套査詢、帶有IN謂詞的子?xùn)嗽兌?帶有比較運(yùn)算符的子查詢?nèi)?帶有ANY (SOME)或ALL謂詞的子查詢四、 帶令EXISTS謂詞的子杳詢An Intrcxiuction to Database System一、帶有IN謂詞的子?xùn)嗽兝?9査詢9“劉晨”在同一個(gè)系學(xué)習(xí)的學(xué)憶此査詢要求可以分步來完成確定“劉晨”所在系名SELECT SdeptFROM StudentWHERE Sname= * 劉從I結(jié)果為:cs査找所有在I
13、S系學(xué)習(xí)的學(xué)生。SELECT Sno, Sname. SdeptFROM StudentWHERE Sdept=1CS *:結(jié)果為:SnoSnameSdept200215121李勇csAn Intrcxiuction to Database System2(X)215122劉斥csAn Intrcxiuction to Database System川fl少連接完成例39化詢要求SELECT Sl.Sno, Sl.Sname, Si.SdeptFROM Student S1, Student S2WHERE S1 .Sdept = S2.Sdept ANDS2.Sname =劉晨帶有IN謂詞的
14、子?xùn)诉B(續(xù))SELECT Sno, Sname, SdeptFROM StudentWHERE Sdept IN(SELECT SdeptFROM StudentWHERE Sname二劉晨);此査詢?yōu)椴幌嚓P(guān)子查詢。將第一步代詢嵌入到第.步査詢的條件中An Intrcxiuction to Database System帶有IN謂詞的子?xùn)嗽?:例 40任詢選修了課程名為 SELECT Sno. SnameFROM Student WHERE SnoIN (SELECT Sno FROM SCWHERE CnolN (SELECTCno FROM Course3)WG/i Student 關(guān)系中
15、取 HlSno 和 Sname然 flifl.SC 關(guān)系中找出選修了 3 號(hào)課程的學(xué)生學(xué)號(hào)當(dāng)先在 Course 關(guān)系中找出“信息系統(tǒng)”的課 FD; 為3用連接查詢實(shí)現(xiàn)例40SELECT Sno. SnameFROM Student. SC. CourseWHERE Student.Sno = SC.Sno ANDSC.Cno = Course.Cno ANDCourse.Cname=l(S息系統(tǒng):WHERE Cname=布息系統(tǒng).“伯息系統(tǒng)”的學(xué)生學(xué)號(hào)和姓名An Intrcxiuction to Database System3.4.3嵌套査詢、帶冇IN謂詞的子查詢二、 帶冇比較運(yùn)算符的子查詢
16、三、 帶有ANY (SOME)或ALL謂詞的子查詢四、 帶令EXISTS謂詞的子杳詢當(dāng)能確切知道內(nèi)層?xùn)嗽兎祷貑沃禃r(shí),可用比較運(yùn)算符(,= !=或)o:與AN丫或ALL謂詞配合使用An Intrcxiuction to Database System帶有比較運(yùn)算符的子?xùn)嗽儯ɡm(xù))例:假設(shè)一個(gè)學(xué)牛只可能在一個(gè)系學(xué)習(xí),并H.必須屬于一個(gè) 系,則在例39可以用=代替IN:SELECT Sno. Snama. SdeptFROM StudentWHERE Sdept =(SELECT SdeptFROM StudentWHERE Sname劉晨):An Introduction to Database S
17、ystem帶有比較運(yùn)算符的子?xùn)嗽儯ɡm(xù))了查詢一定耍跟在比較符之后錯(cuò)誤的例子:SELECT Sno, Sname. SdeptFROM StudentWHERE ( SELECT SdeptFROM StudentWHERE Sname= *劉泉)=Sdept;An Intrcxiuction to Database SystemSELECT Snot CnoFROM SC xWHERE Grade =(SELECT AVG(Grade)FROM SCyWHERE y.Sno=x.Sno);:可能的執(zhí)行過程:1從外層?xùn)嗽冎腥1SC的-個(gè)元組x,將元組x的Sno值(200215121)傳送給內(nèi)層
18、查詢。SELECT AVG(Grade)FROM SC yWHERE y.Sno= 20021512V;2執(zhí)行內(nèi)層查詢,得到值88(近似值),用該值代替內(nèi)層?xùn)?詢,得到外層?xùn)嗽儯篠ELECT Sno, CnoFROM SC xWHERE Grade =88;例41找出每個(gè)學(xué)牛超過他選修課程平均成績的課程號(hào)。An Introduction to Database SystemAn Intrcxiuction to Database System帶有比較運(yùn)算符的子?xùn)嗽?續(xù))3執(zhí)行這個(gè)査詢,得到(200215121, 1)(200215121, 3)4.外層金詢?nèi)〕鱿?個(gè)元組幣:父做上述1至3步驟,
19、血到外層 的SC尤組全部處理完畢。結(jié)果為:(200215121, 1)(200215121, 3)(200215122, 2)3.4.3嵌套査詢An Intrcxiuction to Database System、帶有IN謂詞的子?xùn)嗽兌в斜容^運(yùn)算符的子查詢二、帶有ANY (SOME)或ALL謂詞的子杳詢四、帶令EXISTS謂詞的子杳詢?nèi)в蠥NY (SOME)或ALL謂詞的子?xùn)嗽傾n Introduction to Database System謂詞語義 ANY:任意一個(gè)值 ALL:所何值需要配合使用比較運(yùn)算符大于了詵詢結(jié)果中的某個(gè)fit大f rify結(jié)果中的所仃值 小了詵詢結(jié)果中的某
20、個(gè)值 小于尹杳詢結(jié)果中的所有值 大于等r(件詢給果中的某個(gè)侑 大于等于子?xùn)嗽兘Y(jié)果中的所仔值 小于等于子伐詢結(jié)果屮的某個(gè)值 小于等于產(chǎn)任詢結(jié)來屮的所仃值 等于子直詢結(jié)果中的某個(gè)血 等于子任詢結(jié)果中的所右值(通常沒有實(shí)際怠義)ANY ALL ANYALL ANY =ANY=ALL=ANY)(或v)不等 子件詢結(jié)果中的菜個(gè)值 不等于心詢結(jié)果中的任何-個(gè)值帶有ANY (SOME)或ALL謂詞的子?xùn)嗽儯ɡm(xù))An Intrcxiuction to Database System帶有ANY (SOME)或ALL謂詞的子?xùn)嗽?續(xù))例42査詢X他系中比計(jì)算機(jī)科學(xué)某 學(xué)牛年齡小的學(xué)牛姓 名和年齡SELECT Snamo. SageFRO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 耐腐蝕管線用鋼企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報(bào)告
- 天線及其反射器零件企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 計(jì)量管理試題
- 初中數(shù)學(xué)教學(xué)計(jì)劃與評(píng)估策略
- 2025-2030中國城市經(jīng)營行業(yè)經(jīng)營戰(zhàn)略與經(jīng)營中存在問題及解決策略研究報(bào)告
- 2025-2030中國噴漆設(shè)備行業(yè)市場發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030中國可食性包裝膜行業(yè)市場發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 小學(xué)五年級(jí)下學(xué)期班主任工作計(jì)劃中的安全教育
- 2025-2030中國參麥注射液行業(yè)市場深度分析及市場需求與投資價(jià)值研究報(bào)告
- 2025-2030中國動(dòng)物脫毛劑行業(yè)市場發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 《子宮內(nèi)膜異位》課件
- 文旅場所安全培訓(xùn)課件
- 《商標(biāo)侵權(quán)案例分析》課件
- 腦梗死的護(hù)理查房
- 導(dǎo)游講解的常用技巧教案
- 算法設(shè)計(jì)與分析 課件 6.3-貪心法應(yīng)用-活動(dòng)安排問題
- 車位租賃協(xié)議
- 肺結(jié)節(jié)診治中國專家共識(shí)(2024年版)解讀
- 地震監(jiān)測設(shè)備使用安全檢查表
- 行知學(xué)院《學(xué)生手冊(cè)》知識(shí)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- (高清版)DB34∕T 1489-2020 建筑起重機(jī)械安全評(píng)估實(shí)施規(guī)程
評(píng)論
0/150
提交評(píng)論