chp3-2 數(shù)據(jù)庫原理.ppt.ppt_第1頁
chp3-2 數(shù)據(jù)庫原理.ppt.ppt_第2頁
chp3-2 數(shù)據(jù)庫原理.ppt.ppt_第3頁
chp3-2 數(shù)據(jù)庫原理.ppt.ppt_第4頁
chp3-2 數(shù)據(jù)庫原理.ppt.ppt_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、an introduction to數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)概論an introduction to數(shù)據(jù)庫系統(tǒng)第3章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL,an introduction to數(shù)據(jù)庫系統(tǒng),3. 3.4.1單表查詢3.4.2連接查詢3.4.3嵌套查詢3.4.4集合查詢3.4.5選擇語句的一般格式,An Introduction to Database System, 3連接查詢:同時包含多個表的查詢連接條件或連接謂詞:連接兩個表的通用格式:BETWEEN . AND .連接字段:連接謂詞中列名連接條件的每個連接字段類型是在執(zhí)行連接操作的過程中,嵌套組法(NESTED-LOOP )不需要具有相同的

2、名稱,首先在表1中找到第一個元組,然后從表2開始掃描,逐個找到滿足連接的元組,一旦找到,就等于表1的第一個元組和該元組完成全部表2的搜索后,在表1中找到第二個元組,然后從頭開始掃描表2,一個接一個地尋找滿足連接條件的元組,一旦找到,表1中的第二個元組與該元組相連以形成結(jié)果表中的一個元組。 反復(fù)進行上述操作,An Introduction to Database System、排序合并法(SORT-MERGE )是指,=將表1的第一個元組按照連接屬性排序到目的地,直到表1中的所有元組被處理為止如果發(fā)現(xiàn)的元組大于表2的前一個表1的連接字段的值,該表2的查詢將不再繼續(xù),并且找到An Introduc

3、tion to Database System、排序合并方法、以及表1的第二個元組如果從剛才的斷點開始依次掃描表2,找到滿足連接條件的元組,然后直接遇到大于表1的表2的表1的連接字段的值的元組,則對表2的查詢將直到處理了表1或表2的所有元組, An Introduction to Database System、索引連接(INDEX-JOIN )、按連接字段為表2創(chuàng)建索引對,并基于該連接字段值搜索表2的索引,找到滿足條件的元組將表1中的第一個元組與其元組相連,以創(chuàng)建結(jié)果表元組、An Introduction to Database System、連接查詢(續(xù))、1、等值和非等值連接查詢2 等值

4、連接:連接運算符=例33查詢各學(xué)生及其選擇課程時SELECT Student.*,SC.* FROM Student,An Introduction to Database System、等值和非等值連接查詢(續(xù))、查詢結(jié)果:An Introduction to Database System、等值和非等值連接查詢(續(xù))、等值和非等值連接查詢SELECT Student.Sno、Sname、Ssex、Sage、Sdept、Cno、Grade FROM Student,選擇條款與條件, scwherestudent.sno=sc .An Introduction to Database Syst

5、em,連接查詢(續(xù)),1,等值和非等值連接查詢2,自連接3,外部連接4,復(fù)合條件連接, An Introduction to Database System自連接:使用別名前綴示例35,在每節(jié)課中間接第一課(即,第一課的第一課) selection,因為在一個表與自己連接時,所有屬性名稱都是相同名稱的屬性您需要查詢SECOND.Cpno FROM Course FIRST,an introduction to數(shù)據(jù)庫系統(tǒng),自連接(續(xù)),第一個表(Course表),an introduction to數(shù)據(jù)庫自連接(續(xù)) an introduction to數(shù)據(jù)庫系統(tǒng),自連接(續(xù)),查詢結(jié)果:an

6、introduction to數(shù)據(jù)庫系統(tǒng),連接查詢(續(xù)),1,等效, 非等效連接An Introduction to Database System,三、外部連接、外部連接和通常連接的區(qū)別通常連接操作只輸出滿足連接條件的元組外部連接操作,將指定表作為連接主體, 將主機表中不滿足連接條件的元組統(tǒng)一輸出示例36改寫示例33 SELECT Student.Sno、snno Sage、Sdept、Cno、gradefromstudentleftoutjoinscon (student.SnO=sc.) 、an introduction to數(shù)據(jù)庫系統(tǒng)、外部連接(續(xù))、執(zhí)行結(jié)果:an introduct

7、ion to數(shù)據(jù)庫系統(tǒng)、外部連接(續(xù))、左外部連接列表左關(guān)系。 an introduction to數(shù)據(jù)庫系統(tǒng)、連接查詢(續(xù))、1、等值和非等值連接查詢2、自連接3、外部連接4、復(fù)合條件連接、an introduction to數(shù)據(jù)庫系統(tǒng)。 復(fù)合條件連接:在WHERE子句中包含多個連接條件示例37,選擇第2門課程查詢成績?yōu)?0分以上的學(xué)生SELECT Student.Sno,Sname FROM Student,SC WHERE Student.Sno=SC.Sno AND /*。 /*其他有限條件*/,An Introduction to Database System,復(fù)合條件連接(續(xù)),

8、示例38檢查每個學(xué)生的學(xué)號、姓名、修完的課程名稱和成績SELECT Student.Sno,SnO course/*多表連接*/wheet 、An Introduction to Database System、3.4數(shù)據(jù)查詢、3.4.1單表查詢3.4.2連接查詢3.4.3嵌套查詢3.4.4名詞查詢嵌套查詢(續(xù))、嵌套一個查詢塊嵌套在另一個查詢塊的WHERE子句或HAVING子句的條件中的查詢稱為嵌套查詢,稱為An Introduction to Database System,select fromstudentwheresnoin (選擇否/*內(nèi)部查詢/子查詢*/FROM SC WHERE

9、 Cno=2);An Introduction to Database System、嵌套查詢(續(xù))和子查詢限制不能使用ORDER BY子句級嵌套方法。 一些反映SQL語言結(jié)構(gòu)化的嵌套查詢將被連接運算所替換。 安培到數(shù)據(jù)庫系統(tǒng),以及。 也就是說,每個子查詢都在高級查詢處理之前解析,子查詢的結(jié)果用于為父查詢創(chuàng)建搜索條件。、An Introduction to Database System、嵌套查詢解析方法(續(xù))、相關(guān)子查詢:子查詢的查詢條件取決于父查詢首先采用外部查詢的表的第一元組,而是對與內(nèi)部查詢相關(guān)的屬性值如果WHERE子句的門值為true,則將該元組放入結(jié)果表中,然后取外層表的下一個元組

10、,重復(fù)該過程,直到檢查完所有外層表為止,An Introduction to Database System、 3.4.3具有嵌套查詢1.IN謂詞的子查詢2、具有比較運算符的子查詢3、具有ANY(SOME )或ALL謂詞的子查詢4、具有EXISTS謂詞的子查詢、an introduction to database se 帶有in謂詞的子查詢此查詢要求分階段確定“劉晨”的所在系名selectsdeptfromstudentwheresname=劉晨。 結(jié)果顯示,CS、An Introduction to Database System、具有IN謂詞的子查詢(續(xù))、以及在IS系學(xué)習(xí)的學(xué)生都將被查

11、找。 SELECT Sno、Sname、sdept from student無線設(shè)定=cs。 結(jié)果:An Introduction to Database System,具有IN謂詞的子查詢(接下來),將第1步查詢嵌入第2步查詢的條件中的SELECT Sno,Sname,sdeptfromstudentwheem該查詢非an INtroduction to數(shù)據(jù)庫系統(tǒng),帶有in謂詞的子查詢(接下來),自連接完成例39查詢請求SELECT S1.Sno,S1.Sname, s1.sdeptfrrrequency、An Introduction to Database System、帶有IN謂詞的子

12、查詢(續(xù)),例如40個查詢選擇了課程名“信息系統(tǒng)”的學(xué)生學(xué)號和名稱SELECT Sno。 Sname最后以Student關(guān)系發(fā)現(xiàn)了FROM Student取出Sno和snamewheresnoin (selects no之后以SC關(guān)系選擇FROM SC完成第三課程的學(xué)生的學(xué)號wherecnoin (select cno是發(fā)現(xiàn)),An Introduction to Database System,帶有IN謂詞的子查詢(續(xù)),連接查詢實現(xiàn)示例40 SELECT Sno,從student命名,SC,coursewherestudent, an教育到數(shù)據(jù)庫系統(tǒng), 3.4.3嵌套查詢、1、具有IN謂詞

13、的子查詢2、具有比較運算符的子查詢3、具有ANY(SOME )或ALL謂詞的子查詢4、exists an introduction to database system、an introduction 示例:假設(shè)學(xué)生只能在一個系統(tǒng)中學(xué)習(xí),并且必須屬于一個系統(tǒng),則示例39允許使用=代替in:seee sdeptfromstudentwheresdept=(selectsdeptfromstudentwhe 、An Introduction to Database System、帶有比較運算符的子查詢(續(xù))、子查詢必須在比較符之后發(fā)生錯誤的示例: SELECT Sno、Sname、sdeptfromstudentwhere (sdeptfromstem An Introduction to Database System,帶比較運算符的子

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論