版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
上節(jié)知識回顧1、查詢選課人數(shù)大于等于3人的課程號和選課人數(shù)。4.3集合查詢?nèi)绻卸鄠€(gè)不同的查詢結(jié)果集,但又希望將它們按照一定的關(guān)系連接在一起,組成一組數(shù)據(jù),這就可以用集合運(yùn)算來實(shí)現(xiàn)。UNION(并)、INTERSECT(交)、EXCEPT(差)參加聯(lián)合查詢操作的各查詢結(jié)果的列數(shù)必須相同,對應(yīng)項(xiàng)的數(shù)據(jù)類型也必須相同。集合并運(yùn)算(UNION)集合并運(yùn)算是將來自不同查詢結(jié)果集合組合起來,形成一個(gè)查詢結(jié)果集(并集),UNION操作會自動將重復(fù)元組去除。例44:查詢選修了1號課程或選修了2號課程的學(xué)生的學(xué)號。集合交運(yùn)算(INTERSECT)集合交運(yùn)算是將來自不同查詢結(jié)果集合中公共的元組組合起來,形成一個(gè)查詢結(jié)果集(交集)。INTERSECT操作會自動將重復(fù)的元組去除。例45:查詢既選修了1號課程又選修了2號課程的學(xué)生的學(xué)號。集合差運(yùn)算(EXCEPT)集合差運(yùn)算是將屬于左查詢結(jié)果集但不屬于右查詢結(jié)果的元組組合起來,形成一個(gè)查詢查詢集(差集)。例46:查詢選修了1號課程但沒有選修2號課程的學(xué)生的學(xué)號。集合運(yùn)算舉例例47:查詢學(xué)生表,列出除數(shù)學(xué)系的女生外,所有學(xué)生的學(xué)號、姓名、所在系和性別。4.4連接查詢?nèi)粢粋€(gè)查詢同時(shí)涉及兩個(gè)或兩個(gè)以上的表,則稱之為連接查詢。連接查詢是關(guān)系數(shù)據(jù)庫中最主要的查詢連接查詢包括內(nèi)連接、自身連接、外連接等。連接基礎(chǔ)知識連接查詢中用于連接兩個(gè)表的條件稱為連接條件或連接謂詞。一般格式為:
[<表名1.>][<列名1>]<比較運(yùn)算符>[<表名2.>][<列名2>]必須語義相同!內(nèi)連接內(nèi)連接語法如下:
SELECT…FROM表名[INNER]JOIN被連接表
ON連接條件執(zhí)行連接操作的過程:首先取表1中的第1個(gè)元組,然后從頭開始掃描表2,逐一查找滿足連接條件的元組,找到后就將表1中的第1個(gè)元組與該元組拼接起來,形成結(jié)果表中的一個(gè)元組。表2全部查找完畢后,再取表1中的第2個(gè)元組,然后再從頭開始掃描表2,…重復(fù)這個(gè)過程,直到表1中的全部元組都處理完畢為止。
示例例48.查詢每個(gè)學(xué)生及其選課的詳細(xì)信息。SELECT*FROMStudentINNERJOINSCONStudent.Sno=SC.Sno改進(jìn)例1SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudentJOINSCONStudent.Sno=SC.Sno示例例49.查詢計(jì)算機(jī)系學(xué)生的修課情況,要求列出學(xué)生的名字、所修課的課程號和成績。
SELECTSname,Cno,GradeFROMStudentJOINSCONStudent.Sno=SC.SnoWHERESdept='計(jì)算機(jī)系'
表別名可以為表提供別名,其格式如下:
FROM<源表名>[AS]<表別名>為表指定別名可以簡化表的書寫。當(dāng)為表指定了別名,在查詢語句中的其他地方,所有用到表名的地方都要使用別名,而不能再使用原表名。示例例50.查詢信息系修了“數(shù)據(jù)庫”課程的學(xué)生信息,要求列出學(xué)生姓名、課程名和成績。SELECTSname,Cname,GradeFROMStudentsJOINSCONs.Sno=SC.Sno
JOINCoursecONc.Cno=SC.CnoWHERESdept='信息系'
ANDCname='數(shù)據(jù)庫'
示例例51.查詢所有修了C++課程的學(xué)生的修課情況,要求列出學(xué)生姓名、所在系和選課成績。SELECTSname,Sdept,GradeFROMStudentSJOINSCONS.Sno=SC.Sno
JOINCourseCONC.Cno=SC.cnoWHERECname='C++'示例例52.有分組的多表連接查詢。統(tǒng)計(jì)每門課(列出課程名)的學(xué)生考試平均成績。SELECTCname,AVG(grade)asAverageGradeFROMCoursecJOINSCONC.Cno=SC.CnoGROUPBYCname示例例53.有分組和行選擇條件的多表連接查詢。統(tǒng)計(jì)信息系每門課程的選課人數(shù)、平均成績、最高成績和最低成績。SELECTCno,COUNT(*)ASTotal,AVG(Grade)asAvgGrade,MAX(Grade)asMaxGrade,MIN(Grade)asMinGrade
FROMStudentSJOINSCONS.Sno=SC.SnoWHERESdept=‘信息系'
GROUPBYCno2.自身連接為特殊的內(nèi)連接相互連接的表物理上為同一張表。必須為兩個(gè)表取別名,使之在邏輯上成為兩個(gè)表。
FROM表1ASA1--在內(nèi)存中生成“A1”表
JOIN表1ASA2--在內(nèi)存中生成“A2”表示例例54.查詢與劉超華在同一個(gè)系學(xué)習(xí)的學(xué)生的姓名和所在的系。SELECTS2.Sname,S2.SdeptFROMStudentS1JOINStudentS2ONS1.Sdept=S2.SdeptWHERES1.Sname='劉超華'
ANDS2.Sname!='劉超華'示例例55.查詢與“數(shù)據(jù)庫”學(xué)分相同的課程的課程名和學(xué)分。SELECTC1.Cname,C1.CreditFROMCourseC1JOINCourseC2ONC1.Credit=C2.CreditWHEREC2.Cname='數(shù)據(jù)庫'3.外連接只限制一張表中的數(shù)據(jù)必須滿足連接條件,而另一張表中數(shù)據(jù)可以不滿足連接條件。
外連接的語法格式為:
FROM表1LEFT|RIGHT[OUTER]JOIN表2ON<連接條件>示例例56.查詢學(xué)生的修課情況,包括修了課程的學(xué)生和沒有修課的學(xué)生。SELECTStudent.Sno,Sname,Cno,GradeFROMStudentLEFTOUTERJOINSC ONStudent.Sno=SC.Sno示例例57.查詢哪些課程沒有人選,列出其課程號,課程名。SELECTC.cno,CnameFROMCourseCLEFTJOINSCONC.Cno=SC.CnoWHERESC.CnoISNULL示例例58.查詢數(shù)學(xué)系沒有選課的學(xué)生,列出學(xué)生的學(xué)號,姓名和性別。SELECTSno,Sname,SsexFROMStudentSLEFTJOINSCONS.Sno=SC.SnoWHERESdept='數(shù)學(xué)系'ANDSC.SnoISNULL示例例59.統(tǒng)計(jì)信息系每個(gè)學(xué)生的選課門數(shù),包括沒有選課的學(xué)生,結(jié)果按選課門數(shù)遞減排序。SELECTS.Sno學(xué)號,COUNT(SC.Cno)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省保定市定興縣2025-2026學(xué)年第二學(xué)期五年級語文期末試卷(文字版含答案)
- 2026年銀行信息安全運(yùn)維銀行招聘考試筆試試題(含答案)
- 2026 年晚期胰腺癌安寧療護(hù)舒適護(hù)理個(gè)案
- 廣告投放合作協(xié)議
- 2026年秋季公共事業(yè)管理專業(yè)開學(xué)第一課 學(xué)科發(fā)展簡史教學(xué)設(shè)計(jì)
- 2026年秋季化學(xué)專業(yè)開學(xué)第一課 行業(yè)案例分析講座方案
- 2026年助產(chǎn)培訓(xùn)考試試題及答案
- 2026年養(yǎng)老服務(wù)公司護(hù)理總監(jiān)工作計(jì)劃
- 零售藥店藥品經(jīng)營質(zhì)量管理培訓(xùn)試卷及答案
- 2026年《醫(yī)療器械召回管理辦法》培訓(xùn)試題及答案
- 中國融通資源開發(fā)集團(tuán)有限公司物資接收、倉儲人員專項(xiàng)招聘87人考試參考題庫及答案詳解
- 資產(chǎn)評估師(珠寶)理論強(qiáng)化訓(xùn)練題(含解析)
- 教育法律法規(guī)試題帶答案
- 2025遼寧盤錦北方瀝青股份有限公司大學(xué)畢業(yè)生招聘18人筆試歷年參考題庫附帶答案詳解
- 2026年煤礦重大事故隱患判定標(biāo)準(zhǔn)題庫(含答案)
- 江西文演集團(tuán)招聘筆試題庫2026
- 地下空間窒息現(xiàn)場應(yīng)急處置方案
- 日語閱讀試題及答案
- 2026 第六屆“四川工匠杯”職業(yè)技能大賽 餐廳服務(wù)賽項(xiàng) 理論考試參考題庫 含答案
- 醫(yī)院檢驗(yàn)科設(shè)備更新計(jì)劃方案
- 2025中國兵器工業(yè)第五九研究所招聘參考題庫帶答案解析
評論
0/150
提交評論