2021連接和子查詢推薦資料_第1頁
2021連接和子查詢推薦資料_第2頁
2021連接和子查詢推薦資料_第3頁
2021連接和子查詢推薦資料_第4頁
2021連接和子查詢推薦資料_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

連接(liánjiē)和子查詢第一頁,共32頁。連接:允許(yǔnxǔ)從多表中抽取數(shù)據(jù)可以分為以下類型:內(nèi)連接外連接交叉連接相等連接自連接使用連接查詢(cháxún)數(shù)據(jù)第二頁,共32頁。ABCBDEABCDEINNERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTCOMMONROWS使用(shǐyòng)內(nèi)連接第三頁,共32頁。內(nèi)連接:內(nèi)連接在公共的列上使用比較(bǐjiào)操作符從多表中抽取數(shù)據(jù)。僅抽取滿足連接條件的行。語法:SELECTcolumn_name,column_name[,column_name]FROMtable1_nameJOINtable2_nameONtable1_name.ref_column_namejoin_operatortable2_name.ref_column_name 讓我們看看如何…使用(shǐyòng)內(nèi)連接(續(xù))第四頁,共32頁。課間(kèjiān)思考你為什么需要一個(yīɡè)帶列名的表別名?答案:在查詢(cháxún)中需要表別名來唯一的識別列以避免模糊,這種模糊是因?yàn)槎啾碇杏邢嗤牧忻a(chǎn)生的。第五頁,共32頁。外連接:外連接顯示包含來自一個(yīɡè)表中所有行和來自另一個(yīɡè)表中匹配行的結(jié)果集。外連接顯示沒有找到匹配記錄的相關(guān)表的列為NULL。有三種類型:左連接右連接完全外連接使用(shǐyòng)外連接第六頁,共32頁。ABCBDEABCDELEFTOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEXANDCOMMONROWSFROMTABLEY使用(shǐyòng)外連接(續(xù))第七頁,共32頁。ABCBDEABCDERIGHTOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEYANDCOMMONROWSFROMTABLEX使用(shǐyòng)外連接(續(xù))第八頁,共32頁。使用(shǐyòng)外連接(續(xù))ABCBDEABCDEFULLOUTERJOINTableXTableYCOLUMNSCOLUMNSOUTPUTALLROWSFROMTABLEYANDTABLEYANDCOMMONROWSONLYONCE第九頁,共32頁。當(dāng)一個查詢的結(jié)果作為另一個查詢的條件(tiáojiàn)時(shí)需要使用子查詢在相關(guān)子查詢中,WHERE從句引用在FROM從句中的表中EmployeeID在子查詢(cháxún)中如何使用EXISTS關(guān)鍵字?課間(kèjiān)思考集合函數(shù)也被用于在子查詢中以產(chǎn)生來自內(nèi)部查詢的集合值。EmployeeWHEREManagerID=12)在相關(guān)子查詢中,WHERE從句引用在FROM從句中的表中SELECTcolumn_name,column_name[,column_name]與內(nèi)連接一樣(yīyàng)COMMONROWSSELECTcolumn_name,column_name[,column_name](

SELECTcolumnFROMtable_name[WHEREconditional_expression]

)你為什么需要一個(yīɡè)帶列名的表別名?與內(nèi)連接一樣(yīyàng)執(zhí)行查詢以驗(yàn)證結(jié)果。語法:SELECTcolumn_name,column_name[,column_name]FROMtable1_name[LEFT|RIGHT|FULL]OUTERJOINtable2_nameONtable1_name.ref_column_namejoin_operator 讓我們看看(kànkàn)如何…使用(shǐyòng)外連接(續(xù))第十頁,共32頁。課間(kèjiān)思考你什么時(shí)候(shíhou)使用右連接?答案:當(dāng)你需要來自外連接右邊的表中的所有(suǒyǒu)記錄和僅來自外連接的左邊的匹配記錄的時(shí)候使用右連接。第十一頁,共32頁。ABCBDEABCDECROSSJOINTableXTableYCOLUMNSCOLUMNSOUTPUTnROWSmROWSALLROWS(nXm)EACHROWOFTABLEXJOINEDWITHEACHROWOFTABLEY使用(shǐyòng)交叉連接第十二頁,共32頁。交叉連接:在兩個表中將一個表中的每行與另一個表中的每行連接。結(jié)果集中(jízhōng)行的數(shù)量是第一個表中行的數(shù)量與第二個表中行的數(shù)量的乘積。 讓我們看看如何…使用(shǐyòng)交叉連接(續(xù))第十三頁,共32頁。ABCBDEABCDBE

EQUIJOINTableXTableYCOLUMNSCOLUMNSOUTPUTCOMMONROWS使用相等(xiāngděng)連接第十四頁,共32頁。相等連接:與內(nèi)連接一樣(yīyàng)顯示兩個表的所有列在結(jié)果集中顯示冗余列數(shù)據(jù) 讓我們看看如何…使用(shǐyòng)相等連接(續(xù))第十五頁,共32頁。課間(kèjiān)思考相等(xiāngděng)連接和內(nèi)連接的區(qū)別是什么?答案;相等連接被用于從兩個(liǎnɡɡè)表中抽取所有列。內(nèi)連接被用于從表中抽取選中的列。第十六頁,共32頁。自連接:在一個表中的一行與同一表中的另一行相關(guān)時(shí)使用自連接為了區(qū)別(qūbié)同一表的兩個實(shí)例,表被給出兩個別名 讓我們看看如何…使用(shǐyòng)自連接第十七頁,共32頁。問題描述:AdventureWorks,Inc.公司的HR經(jīng)理需要一個包含下面(xiàmian)詳情的報(bào)表:EmployeeIDEmployeeNameDepartmentNameDateofJoiningEmployeeAddress 你將如何產(chǎn)生這個報(bào)告?演示:使用(shǐyòng)連接第十八頁,共32頁。解決方案:為了解決上述(shàngshù)問題,你需要完成下面的任務(wù):1.確定連接。2. 創(chuàng)建基于連接的查詢。3. 執(zhí)行查詢以驗(yàn)證結(jié)果。演示:使用(shǐyòng)連接(續(xù))第十九頁,共32頁。子查詢:當(dāng)一個查詢的結(jié)果作為另一個查詢的條件(tiáojiàn)時(shí)需要使用子查詢語法:SELECTcolumn,column[,column]FROMtable_nameWHEREcolumn=(

SELECTcolumnFROMtable_name[WHEREconditional_expression]

)使用(shǐyòng)子查詢查詢數(shù)據(jù)第二十頁,共32頁。IN關(guān)鍵字;用于在子查詢中根據(jù)給定列表中的值匹配(pǐpèi)進(jìn)行抽取行語法:SELECTcolumn,column[,column]FROMtable_nameWHEREcolumn[NOT]IN(SELECTcolumnFROMtable_name[WHEREconditional_expression]) 讓我們看看如何…使用(shǐyòng)IN和EXISTS關(guān)鍵字第二十一頁,共32頁。EXISTS關(guān)鍵字:使用EXISTS關(guān)鍵字以檢查數(shù)據(jù)的存在性并返回true或false語法;SELECTcolumn,column[,column]FROMtable_nameWHEREEXISTS(SELECTcolumnFROMtable_name[WHEREconditional_expression]) 讓我們(wǒmen)看看如何…使用(shǐyòng)IN和EXISTS關(guān)鍵字(續(xù))第二十二頁,共32頁。使用以下項(xiàng)修改(xiūgǎi)比較操作符:ALL關(guān)鍵字返回TRUE值,如果所有子查詢抽取的所有值滿足比較操作符ANY關(guān)鍵字返回TRUE值,如果子查詢抽取的任何值滿足比較操作符 讓我們看看如何…使用(shǐyòng)修改的比較操作符第二十三頁,共32頁。課間(kèjiān)思考在子查詢(cháxún)中如何使用EXISTS關(guān)鍵字?答案:EXISTS關(guān)鍵字被用來根據(jù)內(nèi)查詢指定(zhǐdìng)的條件檢查行在內(nèi)查詢的結(jié)果集中的存在性。第二十四頁,共32頁。集合函數(shù):在子查詢中使用集合函數(shù)以產(chǎn)生來自內(nèi)查詢的集合值 讓我們(wǒmen)看看如何…使用集合(jíhé)函數(shù)第二十五頁,共32頁。嵌入子查詢:包含一個或多個子查詢在查詢依賴另一個查詢的結(jié)果的時(shí)候(shíhou)被使用 讓我們看看如何…使用(shǐyòng)嵌入子查詢第二十六頁,共32頁。相關(guān)子查詢:可以被定義為依賴于它評估的外部(wàibù)查詢的查詢在相關(guān)子查詢中,WHERE從句引用在FROM從句中的表中 讓我們看看如何…使用(shǐyòng)相關(guān)子查詢第二十七頁,共32頁。課間(kèjiān)思考寫出一個查詢,它確定所有(suǒyǒu)來自數(shù)據(jù)庫中經(jīng)理ID是12的所有(suǒyǒu)員工的EmployeeID和DepartmentID。答案(dáàn):SELECTEmployeeID,DepartmentIDFROMWHEREEmployeeID=(SELECTEmployeeIDFROMHumanResources.EmployeeWHEREManagerID=12)第二十八頁,共32頁。問題描述:AdventureWorks,Inc.的管理層計(jì)劃修改員工的支付率。對于它,他們想要一個包含EmployeeID和那些員工當(dāng)前支付率大于$40的員工的職務(wù)。你如何產(chǎn)生這個(zhège)報(bào)告?演示(yǎnshì):使用子查詢第二十九頁,共32頁。解決方案:為了解決上述問題,你需要完成(wánchéng)如下任務(wù):1.創(chuàng)建一個查詢。2. 執(zhí)行查詢以驗(yàn)證結(jié)果。演示(yǎnshì):使用子查詢(續(xù))第三十頁,共32頁。在本章,你已經(jīng)學(xué)到:連接(liánjiē)和子查詢被用于從多表中抽取數(shù)據(jù)。內(nèi)連接(liánjiē)在公共列上使用比較操作符從多表中組合記錄。左連接(liánjiē)返回來自左表的所有行和來自右表的匹配行。右外連接(liánjiē)返回來自右表的所有行和來自左表的匹配行。完全外連接(liánjiē)返回所有應(yīng)用連接(liánjiē)的兩個表的匹配和不匹配行。交叉連接(liánjiē)返回來自第一個表的每行和來自第二個表的每行的連接(liánjiē)。相等連接(liánjiē)被用于列出連接(liánjiē)的表的

溫馨提示

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

評論

0/150

提交評論