數(shù)據(jù)庫SQL-Server-2000-項(xiàng)目八_第1頁
數(shù)據(jù)庫SQL-Server-2000-項(xiàng)目八_第2頁
數(shù)據(jù)庫SQL-Server-2000-項(xiàng)目八_第3頁
數(shù)據(jù)庫SQL-Server-2000-項(xiàng)目八_第4頁
數(shù)據(jù)庫SQL-Server-2000-項(xiàng)目八_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

【學(xué)習(xí)目標(biāo)】兩個(gè)表內(nèi)聯(lián)接查詢的原理和語法。兩個(gè)表自然聯(lián)接查詢和自聯(lián)接查詢的定義。兩個(gè)表外聯(lián)接查詢的分類。兩個(gè)表左聯(lián)接查詢、右聯(lián)接查詢、全聯(lián)接查詢以及交叉聯(lián)接查詢的原理和語法。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃【任務(wù)二】兩個(gè)表的外聯(lián)接查詢【任務(wù)一】兩個(gè)表的內(nèi)聯(lián)接查詢【任務(wù)三】用子查詢檢查教學(xué)計(jì)劃項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃“任務(wù)一”兩個(gè)表的內(nèi)聯(lián)接查詢通過3個(gè)操作,介紹了內(nèi)聯(lián)接查詢的語法,以及在什么情況下適于使用內(nèi)聯(lián)接查詢。“操作一”講解了內(nèi)聯(lián)接查詢的語法,內(nèi)聯(lián)接查詢的結(jié)果是主表和附表中能夠滿足關(guān)聯(lián)條件的記錄。內(nèi)聯(lián)接的聯(lián)接詞為innerjoin?!安僮鞫敝v解了自然聯(lián)接的概念,當(dāng)查詢結(jié)果是兩個(gè)表中名稱不同的列,可以用自然聯(lián)接的方式書寫查詢語句?!安僮魅敝v解了什么是自聯(lián)接查詢,以及在什么情況下適于使用自聯(lián)接查詢。當(dāng)查詢需要對同一個(gè)表的記錄進(jìn)行比較時(shí),適于采用自聯(lián)接查詢,同一個(gè)表在自聯(lián)接中以不同角色出現(xiàn)。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)一兩個(gè)表的內(nèi)聯(lián)接查詢操作一“課程表”和“教師表”的內(nèi)聯(lián)接查詢【基礎(chǔ)知識】

內(nèi)聯(lián)接查詢的含義是:兩個(gè)存在關(guān)聯(lián)關(guān)系的表A和B,表A與表B內(nèi)聯(lián)接的查詢結(jié)果為C,結(jié)果集C中只能包括表A與表B中滿足關(guān)聯(lián)條件(例如,相等)的記錄。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)一兩個(gè)表的內(nèi)聯(lián)接查詢操作一“課程表”和“教師表”的內(nèi)聯(lián)接查詢【基礎(chǔ)知識】內(nèi)聯(lián)接查詢語句語法。項(xiàng)目查詢語句語法說明1select主表別名.列名,……附表別名.列名,……查詢結(jié)果,列名或表達(dá)式。2from主表名主表別名查詢來源的主表名及主表別名。3innerjoin附表名附表別名查詢來源的附表名及附表別名。4on關(guān)聯(lián)條件定義關(guān)聯(lián)條件,即關(guān)系表達(dá)式或邏輯表達(dá)式。5其他where、groupby、having、orderby子句定義查詢語句中的其他子句?!救蝿?wù)目標(biāo)】

運(yùn)用內(nèi)聯(lián)接查詢,從“課程表”和“教師表”中查詢各課程的授課教師信息,包括:“課程名稱”、“課時(shí)”、“教師編號”和“授課教師姓名”。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)一兩個(gè)表的內(nèi)聯(lián)接查詢操作二“課程表”與“教師表”的自然聯(lián)接【基礎(chǔ)知識】

自然聯(lián)接是指:在內(nèi)聯(lián)接查詢的select子句中出現(xiàn)的列名,雖然來自于不同的表,但列名不重復(fù),“表別名.列名”的可以簡寫為“列名”。對于自然聯(lián)接,SQLServer在編譯、執(zhí)行時(shí)不會因?yàn)椴荒艽_定某列的來源而提示錯(cuò)誤信息。有興趣的讀者可以試驗(yàn)一下下列查詢語句能否執(zhí)行,并閱讀提示信息?!救蝿?wù)目標(biāo)】

用自然聯(lián)接改寫“操作一”的“拓展任務(wù)”的查詢語句,要求從“課程表”、“教師表”和“專業(yè)表”中查詢“課程名稱”、“課時(shí)”、“所屬專業(yè)編號”、“專業(yè)名稱”和“授課教師名稱”。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)一兩個(gè)表的內(nèi)聯(lián)接查詢操作三對“課程表”的自聯(lián)接【基礎(chǔ)知識】

在自聯(lián)接查詢中,雖然,數(shù)據(jù)來源是同一個(gè)表,但需要作為不同的角色來參與查詢,必須為表定義不同角色的別名。自聯(lián)接查詢需要在where子句中設(shè)置條件,用來屏蔽相同記錄和重復(fù)記錄。如何設(shè)置屏蔽條件,將在以下示例中介紹?!救蝿?wù)目標(biāo)】

顯示“課程表”中授課教師相同的“課程編號”、“課程名稱”、“教師編號”,與其授課教師相同的其他“課程編號”、“課程名稱”和“教師編號”。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃“任務(wù)二”兩個(gè)表的外聯(lián)接查詢通過4個(gè)操作,介紹外聯(lián)接查詢的種類、語法,以及在什么情況下使用哪種外聯(lián)接查詢。外聯(lián)接查詢可以分為4類:左聯(lián)接查詢、右聯(lián)接查詢、全聯(lián)接查詢和交叉聯(lián)接查詢?!安僮饕弧敝v解左聯(lián)接查詢的含義和聯(lián)接詞leftjoin的語法。左聯(lián)接查詢的結(jié)果可以來自于主表的全部記錄,以及附表中與主表能夠滿足關(guān)聯(lián)條件的記錄,不能滿足關(guān)聯(lián)條件的列值為空值。“操作二”講解右聯(lián)接查詢的含義和聯(lián)接詞rightjoin的語法。右聯(lián)接查詢的結(jié)果可以來自于附表的全部記錄,以及主表中與附表能夠滿足關(guān)聯(lián)條件的記錄,不能滿足關(guān)聯(lián)條件的列值為空值?!安僮魅敝v解全聯(lián)接查詢的含義和聯(lián)接詞fulljoin的語法。全聯(lián)接的結(jié)果可以是主表的全部記錄和附表的全部記錄,不能滿足關(guān)聯(lián)條件的列值為空值?!安僮魉摹敝v解交叉聯(lián)接查詢的含義和聯(lián)接詞crossjoin的語法。交叉聯(lián)接的結(jié)果是主表中的每一條記錄對應(yīng)于附表中的全部記錄。在交叉聯(lián)接的結(jié)果中,記錄數(shù)是主表記錄數(shù)與附表記錄數(shù)的乘積。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作一“教師表”與“課程表”的左聯(lián)接查詢【基礎(chǔ)知識】左聯(lián)接查詢的含義是:兩個(gè)存在關(guān)聯(lián)關(guān)系的表A和B,表A與表B左聯(lián)接的查詢結(jié)果為C。C的列可以來自于A和B的列,C的記錄中允許包括A的全部記錄以及B中與A滿足關(guān)聯(lián)條件的記錄,C中A與B不滿足關(guān)聯(lián)條件的列值為空值。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作一“教師表”與“課程表”的左聯(lián)接查詢【基礎(chǔ)知識】左聯(lián)接查詢語句語法【任務(wù)目標(biāo)】

從“教師表”和“課程表”中查詢教師的授課課程的“課程名稱”,對于無授課安排的,顯示“無授課安排”。項(xiàng)目查詢語句語法說明1select主表別名.列名,……附表別名.列名,……查詢結(jié)果,列名或表達(dá)式。2from主表名主表別名查詢來源的主表名及主表別名。3leftjoin附表名附表別名查詢來源的附表名及附表別名。4on關(guān)聯(lián)條件定義關(guān)聯(lián)條件,即關(guān)系表達(dá)式或邏輯表達(dá)式。5其他where、groupby、having、orderby子句定義查詢語句中的其他子句。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作二“教師表”與“課程表”的右聯(lián)接查詢【基礎(chǔ)知識】右聯(lián)接的含義是:兩個(gè)存在關(guān)聯(lián)關(guān)系的表A和B,表A與表B右聯(lián)接的查詢結(jié)果為C。C的列可以來自于A和B的列,C的記錄中可以包括B的全部記錄以及表A中與B滿足關(guān)聯(lián)條件的記錄,C中B與A不能夠滿足關(guān)聯(lián)條件部分為空值。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作二“教師表”與“課程表”的右聯(lián)接查詢【基礎(chǔ)知識】右聯(lián)接查詢語句語法【任務(wù)目標(biāo)】

對“教師表”和“課程表”作右聯(lián)接查詢,要求顯示各課程的授課教師“姓名”,對于無授課安排的課程,顯示“無授課教師”。項(xiàng)目查詢語句語法說明1select主表別名.列名,……附表別名.列名,……查詢結(jié)果,列名或表達(dá)式。2from主表名主表別名查詢來源的主表名及主表別名。3rightjoin附表名附表別名查詢來源的附表名及附表別名。4on關(guān)聯(lián)條件定義關(guān)聯(lián)條件,即關(guān)系表達(dá)式或邏輯表達(dá)式。5其他where、groupby、having、orderby子句定義查詢語句中的其他子句。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作三“教師表”與“課程表”的全聯(lián)接查詢【基礎(chǔ)知識】全聯(lián)接的含義是:兩個(gè)存在關(guān)聯(lián)關(guān)系的表A和B,表A與表B全聯(lián)接的查詢結(jié)果為C。C的列可以來自于A和B的列,C的記錄中可以包括A和B的全部記錄,C中B與A以及A與B不滿足關(guān)聯(lián)條件的部分為空值。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作三“教師表”與“課程表”的全聯(lián)接查詢【基礎(chǔ)知識】全聯(lián)接查詢語句語法【任務(wù)目標(biāo)】

用全聯(lián)接查詢改寫“操作一”和“操作二”的查詢語句,要求顯示沒有授課安排的教師,并顯示沒安排授課教師的課程。項(xiàng)目查詢語句語法說明1select主表別名.列名,……附表別名.列名,……查詢結(jié)果,列名或表達(dá)式。2from主表名主表別名查詢來源的主表名及主表別名。3fulljoin附表名附表別名查詢來源的附表名及附表別名。4on關(guān)聯(lián)條件定義關(guān)聯(lián)條件,即關(guān)系表達(dá)式或邏輯表達(dá)式。5其他where、groupby、having、orderby子句定義查詢語句中的其他子句。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作四用交叉聯(lián)接生成“學(xué)生考勤記錄”【基礎(chǔ)知識】交叉聯(lián)接的含義是:兩個(gè)存在關(guān)聯(lián)關(guān)系的表A和B,表A與表B交叉聯(lián)接的查詢結(jié)果為C。C的列可以來自于A和B的列,C中可以包括A和B的全部記錄。C的記錄數(shù)是A的記錄數(shù)與B的記錄數(shù)的乘積,即A的每一條記錄對應(yīng)B的全部記錄。交叉聯(lián)接就是代數(shù)學(xué)中的笛卡爾乘積。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)二兩個(gè)表的外聯(lián)接查詢操作四用交叉聯(lián)接生成“學(xué)生考勤記錄”【基礎(chǔ)知識】

全聯(lián)接查詢語句語法?!救蝿?wù)目標(biāo)】用“學(xué)生表”和“考勤表”交叉聯(lián)接預(yù)先生學(xué)生工考勤記錄。項(xiàng)目查詢語句語法說明1select主表別名.列名,……附表別名.列名,……查詢結(jié)果,列名或表達(dá)式。2from主表名主表別名查詢來源的主表名及主表別名。3crossjoin附表名附表別名查詢來源的附表名及附表別名。4其他where、groupby、having、orderby子句定義查詢語句中的其他子句。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃“任務(wù)三”用子查詢檢查教學(xué)計(jì)劃

通過兩個(gè)操作介紹另外兩個(gè)聯(lián)接子查詢的聯(lián)接謂詞in和exists的含義和語法?!安僮饕弧敝v解in的用法,聯(lián)接謂詞in指定的列值是子查詢結(jié)果集中的某個(gè)結(jié)果?!安僮鞫敝v解exists的用法,聯(lián)接謂詞exists表示子查詢的結(jié)果集不為空記錄時(shí)才進(jìn)行查詢或更新操作。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)三用子查詢檢查教學(xué)計(jì)劃操作一使用in的子查詢【基礎(chǔ)知識】聯(lián)接謂詞in/notin的含義是:確定指定列的值或表達(dá)式的值是否與子查詢或列表中的值相匹配/不匹配。語法格式如下:列名/表達(dá)式in/notin(子查詢)

【任務(wù)目標(biāo)】

使用notin從“教師表”中查詢沒有授課安排的教師信息,包括“教師編號”、“教師姓名”、“職務(wù)”和“年齡”。項(xiàng)目八用多表聯(lián)接查詢管理教學(xué)計(jì)劃任務(wù)三用子查詢檢查教學(xué)計(jì)劃操作二使用

溫馨提示

  • 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

提交評論