子查詢及聯(lián)合查詢_第1頁(yè)
子查詢及聯(lián)合查詢_第2頁(yè)
子查詢及聯(lián)合查詢_第3頁(yè)
子查詢及聯(lián)合查詢_第4頁(yè)
子查詢及聯(lián)合查詢_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

子查詢及聯(lián)合查詢1課前預(yù)習(xí)將手機(jī)調(diào)到靜音認(rèn)真做筆記及時(shí)完成作業(yè)上課要求2了解子查詢的機(jī)制掌握IN、EXISTS和比較子查詢的基本方法理解聯(lián)合查詢的基本概念掌握聯(lián)合查詢的基本方法學(xué)習(xí)目標(biāo)3學(xué)習(xí)內(nèi)容子查詢IN子查詢EXISTS子查詢比較子查詢聯(lián)合查詢排序聯(lián)合查詢結(jié)果4子查詢

SELECT語(yǔ)句可以嵌套在其他語(yǔ)句中,這些語(yǔ)句包括SELECT、INSERT、UPDATE、DELETE等,這些嵌套的SELECT語(yǔ)句被稱為子查詢。

外層的SELECT語(yǔ)句被稱為外部查詢,內(nèi)層的SELECT語(yǔ)句被稱為內(nèi)部查詢(或子查詢)。5當(dāng)一個(gè)查詢依賴于另外一個(gè)查詢結(jié)果時(shí),則可以使用子查詢。子查詢分為IN子查詢、EXISTS子查詢和比較子查詢。6子查詢的規(guī)則

使用子查詢時(shí),受下面條件限制。通過(guò)比較運(yùn)算符引入的子查詢選擇列表只能包括一個(gè)表達(dá)式或列名稱。如果外部查詢的WHERE子句包括列名稱,它必須與子查詢選擇列表中的該列是兼容的。子查詢的選擇列表中不允許出現(xiàn)ntext、text和image數(shù)據(jù)類型。7未修改的比較運(yùn)算符(即后面未跟關(guān)鍵字ANY或ALL的運(yùn)算符)引入的子查詢不能包含GROUPBY和HAVING子句。包含GROUPBY的子查詢不能使用DISTINCT關(guān)鍵字。不能指定COMPUTE和INTO子句。只有指定了TOP時(shí)才能指定ORDERBY。使用子查詢創(chuàng)建的視圖不能更新。8IN子查詢

IN子查詢通過(guò)使用IN關(guān)鍵字可以把原表中目標(biāo)列的值和子查詢的返回結(jié)果進(jìn)行比較,如果列值與子查詢的結(jié)果一致或存在與之匹配的數(shù)據(jù)行,則查詢結(jié)果集中就包含該數(shù)據(jù)行。9查詢“C語(yǔ)言程序設(shè)計(jì)”或“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程的課程號(hào)。selectcnofromCourseWherecnamein('C語(yǔ)言程序設(shè)計(jì)','面向?qū)ο蟪绦蛟O(shè)計(jì)')10查詢選修了“C語(yǔ)言程序設(shè)計(jì)”或“面向?qū)ο蟪绦?/p>

設(shè)計(jì)”課程的學(xué)生學(xué)號(hào)。selectsnofromElectivewherecnoin(selectcnofromCoursewherecnamein('C語(yǔ)言程序設(shè)計(jì)','面向?qū)ο蟪绦蛟O(shè)計(jì)')

)11查詢“信息管理”專業(yè)沒(méi)有選修“數(shù)據(jù)庫(kù)應(yīng)用”這門課程的學(xué)生信息。select*fromStudentswheresnonotin(selectsnofromElectivewherecno=(selectcnofromCoursewherecname='數(shù)據(jù)庫(kù)應(yīng)用'

))andprofessional='信息管理'12EXISTS子查詢

EXISTS關(guān)鍵字的作用是在WHERE子句中測(cè)試子查詢的結(jié)果是否為空,若子查詢的結(jié)果不為空,則EXISTS返回TRUE,否則返回FALSE。NOTEXISTS關(guān)鍵字則與EXISTS剛好相反。使用EXISTS關(guān)鍵字的子查詢實(shí)際上不返回任何數(shù)據(jù)。13查詢至少選修了一門課程的學(xué)生學(xué)號(hào)和姓名。selectStudents.sno,snamefromStudentswhereexists(select1fromElectivewhereElective.sno=Students.sno)14比較子查詢比較子查詢就是通過(guò)比較運(yùn)算符(包括>、>=、<、<=、<>、!>、!<、=、!=)將主查詢中的一個(gè)表達(dá)式與子查詢返回的結(jié)果進(jìn)行比較,如果表達(dá)式的值與子查詢結(jié)果相比為真,那么,主查詢中的條件表達(dá)式返回真,否則返回假。

15

子查詢返回單行數(shù)據(jù)時(shí),可以用比較運(yùn)算符,但如果返回多行數(shù)據(jù),則必須把比較運(yùn)算符與ALL或ANY搭配在一起來(lái)使用,其語(yǔ)義如表所示。比較運(yùn)算語(yǔ)義>ANY大于子查詢結(jié)果中的某個(gè)值>ALL大于子查詢結(jié)果中的所有值<ANY小于子查詢結(jié)果中的某個(gè)值<ALL小于子查詢結(jié)果中的所有值>=ANY大于等于子查詢結(jié)果中的某個(gè)值>=ALL大于等于子查詢結(jié)果中的所有值<=ANY小于等于子查詢結(jié)果中的某個(gè)值<=ALL小于等于子查詢結(jié)果中的所有值=ANY等于子查詢結(jié)果中的某個(gè)值=ALL等于子查詢結(jié)果中的所有值!=ANY不等于子查詢結(jié)果中的某個(gè)值!=ALL不等于子查詢結(jié)果中的所有值16查詢其他課程中比課程號(hào)“090103A”成績(jī)都高的課程編號(hào)和課程成績(jī)。selectcnoas'課程編號(hào)',degreeas'課程成績(jī)'fromElectivewheredegree>all(selectdegreefromElectivewherecno='090103A')andcno!='090103A'17

聯(lián)合查詢不同的查詢操作會(huì)生成不同的查詢結(jié)果集,但在實(shí)際應(yīng)用中會(huì)希望將這些查詢結(jié)果集連接到一起,從而組成符合實(shí)際需要的數(shù)據(jù),此時(shí)就可以使用聯(lián)合查詢將多個(gè)結(jié)果集合并到一個(gè)結(jié)果集中。18聯(lián)合查詢通過(guò)UNION或UNIONALL關(guān)鍵字來(lái)實(shí)現(xiàn)。

UNION合并多個(gè)結(jié)果集時(shí)會(huì)自動(dòng)刪除重復(fù)數(shù)據(jù)行,而UNIONALL不會(huì)刪除。在包括多個(gè)查詢的UNION語(yǔ)句中,其執(zhí)行順序是自左至右,使用括號(hào)可以改變這一執(zhí)行順序。例

如:查詢1UNION(查詢2UNION查詢3)19查詢選修了課程號(hào)‘090101A’或選修了課程號(hào)‘090103A’的學(xué)生學(xué)號(hào)。selectsnofromElectivewherecno='090101A'UnionselectsnofromElectivewherecno='090103A'selectsnofromElectivewherecno='090101A'UnionallselectsnofromElectivewherecno='090103A'20排序聯(lián)合查詢結(jié)果聯(lián)合查詢也可以對(duì)結(jié)果進(jìn)行排序,這時(shí)必須把ORDERBY子句與最后一個(gè)SELECT語(yǔ)句放在一起使用,而且要對(duì)第一個(gè)SELECT語(yǔ)句的列名進(jìn)行排序。21查詢“計(jì)算機(jī)應(yīng)用”專業(yè)或“信息管理”專業(yè)的學(xué)生姓名和電話,并按姓

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論