銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)_第1頁(yè)
銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)_第2頁(yè)
銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)_第3頁(yè)
銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)_第4頁(yè)
銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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)介

1、銷(xiāo)售管理數(shù)據(jù)庫(kù)數(shù)據(jù)查詢(xún)技能目標(biāo)技能目標(biāo) 在銷(xiāo)售管理系統(tǒng)數(shù)據(jù)庫(kù)中能根據(jù)按照指定的要求靈活、在銷(xiāo)售管理系統(tǒng)數(shù)據(jù)庫(kù)中能根據(jù)按照指定的要求靈活、快速地查詢(xún)相關(guān)信息??焖俚夭樵?xún)相關(guān)信息。知識(shí)目標(biāo)知識(shí)目標(biāo)u掌握掌握SELECTSELECT語(yǔ)句語(yǔ)法格式;語(yǔ)句語(yǔ)法格式;u掌握最根本的查詢(xún)技術(shù);掌握最根本的查詢(xún)技術(shù);u掌握條件查詢(xún)技術(shù);掌握多重條件查詢(xún)技術(shù);掌握條件查詢(xún)技術(shù);掌握多重條件查詢(xún)技術(shù);u掌握連接查詢(xún)技術(shù);掌握嵌套查詢(xún)。掌握連接查詢(xún)技術(shù);掌握嵌套查詢(xún)。 SELECTSELECT語(yǔ)句的語(yǔ)法格式語(yǔ)句的語(yǔ)法格式 SELECT SELECT INTO INTO FROM FROM 數(shù)據(jù)源數(shù)據(jù)源或視圖或視圖列表

2、列表 WHERE WHERE GROUP BY GROUP BY HAVING HAVING ORDER BY ORDER BY ASC | DESC ASC | DESC COMPUTE COMPUTE 行聚合函數(shù)名行聚合函數(shù)名( (表達(dá)式表達(dá)式),.n ),.n BY BY 表達(dá)式表達(dá)式 ,.n ,.n SELECTSELECT語(yǔ)句各子句的功能語(yǔ)句各子句的功能1 1SELECTSELECT子句:指定查詢(xún)返回的列。子句:指定查詢(xún)返回的列。2 2INTOINTO子句:將檢索結(jié)果存儲(chǔ)到新表或視圖中。子句:將檢索結(jié)果存儲(chǔ)到新表或視圖中。3 3FROMFROM子句:用于指定查詢(xún)列所在的表和視圖。子句

3、:用于指定查詢(xún)列所在的表和視圖。4 4WHEREWHERE子句:指定用于限制返回的行的搜索條件。子句:指定用于限制返回的行的搜索條件。4 4GROUP BYGROUP BY子句:指定用來(lái)放置輸出行的組。并且如果子句:指定用來(lái)放置輸出行的組。并且如果 SELECT SELECT 子句子句 中包含聚合函數(shù),那么計(jì)算每組的匯總值。中包含聚合函數(shù),那么計(jì)算每組的匯總值。 5 5HAVINGHAVING子句:指定組或聚合的搜索條件。子句:指定組或聚合的搜索條件。HAVING HAVING 通常與通常與 GROUP BY GROUP BY 子句一起使子句一起使用。用。 6 6ORDER BYORDER B

4、Y子句:指定結(jié)果集的排序。子句:指定結(jié)果集的排序。7 7COMPUTECOMPUTE字句:用于對(duì)結(jié)果集進(jìn)行分組并對(duì)每一組數(shù)據(jù)進(jìn)行匯總計(jì)算。字句:用于對(duì)結(jié)果集進(jìn)行分組并對(duì)每一組數(shù)據(jù)進(jìn)行匯總計(jì)算。SELECT SELECT 語(yǔ)句的執(zhí)行方式語(yǔ)句的執(zhí)行方式 SQL Server2005 SQL Server2005 提供了查詢(xún)編輯器,用于編輯和運(yùn)行提供了查詢(xún)編輯器,用于編輯和運(yùn)行查詢(xún)代碼。查詢(xún)代碼。【例】查詢(xún)所有員工的信息?!纠坎樵?xún)所有員工的信息。操作的具體步驟如下。操作的具體步驟如下。1 1啟動(dòng)啟動(dòng)SQL Server Management StudioSQL Server Management

5、Studio。2 2在【對(duì)象資源管理器】中,單擊工具欄的【新建查詢(xún)】在【對(duì)象資源管理器】中,單擊工具欄的【新建查詢(xún)】按鈕,翻開(kāi)查詢(xún)編輯器。按鈕,翻開(kāi)查詢(xún)編輯器。3 3在查詢(xún)編輯器中,輸入如下代碼。在查詢(xún)編輯器中,輸入如下代碼。 SELECT SELECT * * FROM employee FROM employee 4 4單擊【工具欄】的按鈕,進(jìn)行語(yǔ)法分析。在【結(jié)果】單擊【工具欄】的按鈕,進(jìn)行語(yǔ)法分析。在【結(jié)果】窗體中出現(xiàn)窗體中出現(xiàn)“命令已成功完成的消息,表示當(dāng)前的查詢(xún)語(yǔ)命令已成功完成的消息,表示當(dāng)前的查詢(xún)語(yǔ)句沒(méi)有語(yǔ)法錯(cuò)誤。句沒(méi)有語(yǔ)法錯(cuò)誤。5 5單擊按鈕,在當(dāng)前數(shù)據(jù)庫(kù)中執(zhí)行查詢(xún)語(yǔ)句。單擊按鈕

6、,在當(dāng)前數(shù)據(jù)庫(kù)中執(zhí)行查詢(xún)語(yǔ)句。 簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)-SELECT -SELECT 子句子句 1 1、查詢(xún)所有的列使用、查詢(xún)所有的列使用* *【例】從商品表中查詢(xún)所有商品的信息【例】從商品表中查詢(xún)所有商品的信息 。2 2、查詢(xún)指定的列、查詢(xún)指定的列 【例】從客戶表中檢索所有客戶的公司名稱(chēng)、聯(lián)系人姓名和【例】從客戶表中檢索所有客戶的公司名稱(chēng)、聯(lián)系人姓名和地址。地址。3 3、使用、使用TOP TOP 關(guān)鍵字限制返回行數(shù)關(guān)鍵字限制返回行數(shù) 【例】檢索客戶表中前【例】檢索客戶表中前5 5位客戶的公司名稱(chēng)、聯(lián)系人姓名和位客戶的公司名稱(chēng)、聯(lián)系人姓名和地址。地址。4 4、使用、使用DISTINCT DISTIN

7、CT 關(guān)鍵字過(guò)濾重復(fù)行關(guān)鍵字過(guò)濾重復(fù)行【例】從員工表中查詢(xún)所有員工的部門(mén)信息,并消去重復(fù)記【例】從員工表中查詢(xún)所有員工的部門(mén)信息,并消去重復(fù)記錄。錄。簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)-SELECT -SELECT 子句續(xù)子句續(xù)5 5、更改列標(biāo)題、更改列標(biāo)題方法:方法:采用采用“列標(biāo)題列標(biāo)題= =列名的格式列名的格式采用采用“列名列名 列標(biāo)題的格式列標(biāo)題的格式采用采用“列名列名 as as 列標(biāo)題的格式列標(biāo)題的格式【例】查詢(xún)每個(gè)員工的姓名和性別,并在每人的姓名標(biāo)題上【例】查詢(xún)每個(gè)員工的姓名和性別,并在每人的姓名標(biāo)題上顯示顯示“員工姓名。員工姓名。 【練習(xí)】使用其他兩種方法【練習(xí)】使用其他兩種方法 簡(jiǎn)單查詢(xún)簡(jiǎn)單查

8、詢(xún)-SELECT -SELECT 子句續(xù)子句續(xù)6 6、使用計(jì)算列、使用計(jì)算列【例】查詢(xún)所有員工的工資在提高【例】查詢(xún)所有員工的工資在提高10%10%后信息,將提高后的后信息,將提高后的工資列標(biāo)題為工資列標(biāo)題為“提高后工資。提高后工資。簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- INTO - INTO 子句子句 INTO INTO 子句用于將查詢(xún)的結(jié)果插入新表中,其語(yǔ)法格式子句用于將查詢(xún)的結(jié)果插入新表中,其語(yǔ)法格式如下。如下。 INTO INTO 新表名新表名【例】使用【例】使用INTOINTO子句創(chuàng)立一個(gè)包含員工姓名和工資,并命名子句創(chuàng)立一個(gè)包含員工姓名和工資,并命名為為new_employeenew_employe

9、e的新表。的新表。USE CompanySalesUSE CompanySalesGOGOSELECT EmployeeName,SalarySELECT EmployeeName,SalaryINTO new_employeeINTO new_employeeFROM employeeFROM employeeGO GO 簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- WHERE- WHERE子句子句 使用使用WHEREWHERE子句的目的是為了從表格的數(shù)據(jù)集中過(guò)濾子句的目的是為了從表格的數(shù)據(jù)集中過(guò)濾出符合條件的行。出符合條件的行。 其語(yǔ)法格式如下其語(yǔ)法格式如下: :SELECT INTO FROM WHERE 簡(jiǎn)單查

10、詢(xún)簡(jiǎn)單查詢(xún)- WHERE- WHERE子句續(xù)子句續(xù)1 1、使用算術(shù)表達(dá)式、使用算術(shù)表達(dá)式 比較運(yùn)算符包含多個(gè),例如比較運(yùn)算符包含多個(gè),例如 、 =、 、!=!=、!、! 等,等,其中其中、!=!=均表示不等于,均表示不等于,!表示不大于。表示不大于?!纠坎樵?xún)員工【例】查詢(xún)員工“蔡慧敏的工資。蔡慧敏的工資?!纠俊纠?在在CompanySalesCompanySales數(shù)據(jù)庫(kù)的員工表數(shù)據(jù)庫(kù)的員工表employeeemployee中,中,查詢(xún)工資大于查詢(xún)工資大于30003000元的員工信息元的員工信息 2 2、使用邏輯表達(dá)式、使用邏輯表達(dá)式 表達(dá)式表達(dá)式 AND AND或或OR OR 表達(dá)式表

11、達(dá)式 或:或:NOT NOT 表達(dá)式表達(dá)式【例】在【例】在CompanySalesCompanySales數(shù)據(jù)庫(kù)的員工表數(shù)據(jù)庫(kù)的員工表employeeemployee中,查中,查詢(xún)工資在詢(xún)工資在34003400元以下的女性員工姓名和工資信息。元以下的女性員工姓名和工資信息。 3 3、使用搜索范圍運(yùn)算符、使用搜索范圍運(yùn)算符 使用關(guān)鍵字使用關(guān)鍵字BetweenandBetweenand,即查詢(xún)介于兩個(gè)值之間的記,即查詢(xún)介于兩個(gè)值之間的記錄信息。語(yǔ)法格式如下:錄信息。語(yǔ)法格式如下: 列名列名 Between Between【Not BetweenNot Between】 起始值起始值 And And

12、 終止值終止值4 4、使用、使用ININ關(guān)鍵字關(guān)鍵字 IN IN關(guān)鍵字給出表達(dá)式的取值范圍。如果字段取值等于列關(guān)鍵字給出表達(dá)式的取值范圍。如果字段取值等于列表中某個(gè)取值,那么運(yùn)算結(jié)果為表中某個(gè)取值,那么運(yùn)算結(jié)果為T(mén)RUETRUE,否那么運(yùn)算結(jié)果為,否那么運(yùn)算結(jié)果為FALSEFALSE,并顯示相應(yīng)的記錄。語(yǔ)法:,并顯示相應(yīng)的記錄。語(yǔ)法: 列名列名 NOT IN ( NOT IN (值值1 , 1 , 值值2 ,2 ,值值n)n)【例】在【例】在CompanySalesCompanySales數(shù)據(jù)庫(kù)的銷(xiāo)售訂單表數(shù)據(jù)庫(kù)的銷(xiāo)售訂單表Sell_orderSell_order中,查詢(xún)員工編號(hào)為中,查詢(xún)員工

13、編號(hào)為1 1、5 5和和7 7的員工接受訂單信息。的員工接受訂單信息。簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- WHERE- WHERE子句續(xù)子句續(xù)5 5、使用模糊匹配、使用模糊匹配LIKELIKE子句格式如下:子句格式如下: 列名列名 NOT LIKE NOT LIKE 通配符:通配符: % _( % _(下劃線下劃線) )【例】找出所有姓【例】找出所有姓“章的員工信息。章的員工信息?!纠空页鏊胁恍铡纠空页鏊胁恍铡袄畹膯T工信息。李的員工信息。6 6、空或非空性、空或非空性 空和非空的判斷準(zhǔn)那么是空和非空的判斷準(zhǔn)那么是IS NULLIS NULL和和IS NOT NULLIS NOT NULL?!纠吭阡N(xiāo)售

14、管理數(shù)據(jù)庫(kù)中,查找目前有哪些主管位置是為【例】在銷(xiāo)售管理數(shù)據(jù)庫(kù)中,查找目前有哪些主管位置是為不空。不空。簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- ORDER BY- ORDER BY子句子句 通常查詢(xún)結(jié)果集中的記錄的顯示順序是它們?cè)诒碇械耐ǔ2樵?xún)結(jié)果集中的記錄的顯示順序是它們?cè)诒碇械捻樞?,但有時(shí)候用戶希望按照表中某個(gè)字段的升序或者降順序,但有時(shí)候用戶希望按照表中某個(gè)字段的升序或者降序顯示。序顯示。語(yǔ)法格式:語(yǔ)法格式:ORDER BY 列名列名1 ASC | DESC ,列名列名2 ASC | DESC,n 【例】按工資降序顯示員工的姓名和工資,工資相同時(shí)按姓名升序【例】按工資降序顯示員工的姓名和工資,工資相同時(shí)按姓

15、名升序排序排序 。USE CompanySalesGOSELECT *FROM employee使用聚合函數(shù)使用聚合函數(shù)uAVGAVG函數(shù)函數(shù)uSUMSUM函數(shù)函數(shù)uMAXMAX函數(shù)函數(shù)uMINMIN函數(shù)函數(shù)uCOUNTCOUNT函數(shù)函數(shù)使用聚合函數(shù)續(xù)使用聚合函數(shù)續(xù)1 1求和函數(shù)求和函數(shù)SUMSUM與求平均值函數(shù)與求平均值函數(shù)AVGAVG 它們只能用于數(shù)值型字段,而且忽略列值為它們只能用于數(shù)值型字段,而且忽略列值為NULLNULL的記錄。的記錄。2 2最大值函數(shù)最大值函數(shù)MAXMAX與最小值函數(shù)與最小值函數(shù)MINMIN 忽略列值為忽略列值為NULLNULL的記錄,列表達(dá)式中的列可以是任何可排序

16、的記錄,列表達(dá)式中的列可以是任何可排序的類(lèi)型。的類(lèi)型。3 3計(jì)數(shù)函數(shù)計(jì)數(shù)函數(shù)COUNTCOUNT 用于統(tǒng)計(jì)查詢(xún)結(jié)果集中記錄的個(gè)數(shù),用于統(tǒng)計(jì)查詢(xún)結(jié)果集中記錄的個(gè)數(shù),“* *用于統(tǒng)計(jì)所有記錄的個(gè)用于統(tǒng)計(jì)所有記錄的個(gè)數(shù),數(shù),ALLALL用于統(tǒng)計(jì)指定列的列值非空的記錄個(gè)數(shù),用于統(tǒng)計(jì)指定列的列值非空的記錄個(gè)數(shù),DISTINCTDISTINCT用于統(tǒng)計(jì)指用于統(tǒng)計(jì)指定列的列值非空且不重復(fù)的記錄個(gè)數(shù)。默認(rèn)值為定列的列值非空且不重復(fù)的記錄個(gè)數(shù)。默認(rèn)值為ALLALL。簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- GROUP BY- GROUP BY子句子句 如果需要按某一列數(shù)據(jù)的值進(jìn)行分類(lèi),在分類(lèi)的根如果需要按某一列數(shù)據(jù)的值進(jìn)行分類(lèi),在分

17、類(lèi)的根底上再進(jìn)行查詢(xún),就要使用底上再進(jìn)行查詢(xún),就要使用GROUP BYGROUP BY子句,它的語(yǔ)法格子句,它的語(yǔ)法格式如下。式如下。 GROUP BY GROUP BY 【例】查詢(xún)男女員工的平均工資。【例】查詢(xún)男女員工的平均工資?!纠吭阡N(xiāo)售表【例】在銷(xiāo)售表Sell_OrderSell_Order表中,統(tǒng)計(jì)目前各種商品的訂單表中,統(tǒng)計(jì)目前各種商品的訂單總數(shù)??倲?shù)。 簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- HAVING- HAVING子句子句 HAVING HAVING子句指定組或聚合的搜索條件。子句指定組或聚合的搜索條件。HAVING HAVING 只能只能與與 SELECT SELECT 語(yǔ)句一起使用。語(yǔ)句一

18、起使用。HAVINGHAVING通常在通常在GROUP BY GROUP BY 子句子句中使用。中使用。 HAVING HAVING 條件表達(dá)式選項(xiàng),那么表示對(duì)生成的組條件表達(dá)式選項(xiàng),那么表示對(duì)生成的組進(jìn)行篩選后,再對(duì)每組進(jìn)行匯總計(jì)算。如果不使用進(jìn)行篩選后,再對(duì)每組進(jìn)行匯總計(jì)算。如果不使用GROUP GROUP BY BY 子句,那么子句,那么 HAVING HAVING的行為與的行為與WHERE WHERE 子句一樣,它的語(yǔ)子句一樣,它的語(yǔ)法格式如下。法格式如下。 HAVING HAVING 搜索條件搜索條件 【例】在銷(xiāo)售表【例】在銷(xiāo)售表Sell_OrderSell_Order表中,查詢(xún)目前

19、訂單總數(shù)超過(guò)表中,查詢(xún)目前訂單總數(shù)超過(guò)10001000的商品訂單信息。的商品訂單信息。 簡(jiǎn)單查詢(xún)簡(jiǎn)單查詢(xún)- COMPUTE - COMPUTE 子句子句 COMPUTE COMPUTE子句可以用于子句可以用于SELECT SELECT 語(yǔ)句既查看明細(xì)行,語(yǔ)句既查看明細(xì)行,又查看匯總行??梢杂?jì)算分組的匯總值,也可以計(jì)算整個(gè)又查看匯總行??梢杂?jì)算分組的匯總值,也可以計(jì)算整個(gè)結(jié)果集的匯總值。語(yǔ)法格式如下。結(jié)果集的匯總值。語(yǔ)法格式如下。 COMPUTE 聚合函數(shù)名聚合函數(shù)名 (列名列名) , N BY 表達(dá)式表達(dá)式, N 【例【例 】查詢(xún)員工表】查詢(xún)員工表employee中部門(mén)編號(hào)為中部門(mén)編號(hào)為1的各

20、員工工資信息,的各員工工資信息,并計(jì)算平均工資。并計(jì)算平均工資?!纠俊纠?對(duì)對(duì)employee表中部門(mén)編號(hào)為表中部門(mén)編號(hào)為1或或2的員工工資,按照其部門(mén)的員工工資,按照其部門(mén)編號(hào)生成分組匯總行和明細(xì)行編號(hào)生成分組匯總行和明細(xì)行 連接查詢(xún)連接查詢(xún) 連接的類(lèi)型分為內(nèi)連接、外連接和交叉連接。連接的連接的類(lèi)型分為內(nèi)連接、外連接和交叉連接。連接的格式有兩種如下。格式有兩種如下。格式一:格式一:SELECT FROM ON ( )格式二:格式二: SELECT FROM , WHERE . . 交叉連接交叉連接 交叉連接又稱(chēng)笛卡兒積,返回兩個(gè)表的乘積。交叉連接又稱(chēng)笛卡兒積,返回兩個(gè)表的乘積。 例:例:

21、 表表A A有有1010行數(shù)據(jù),表行數(shù)據(jù),表B B有有2020行數(shù)據(jù),那么表行數(shù)據(jù),那么表A A和表和表B B交交叉連接的結(jié)果記錄集有叉連接的結(jié)果記錄集有400400行行10102020數(shù)據(jù)。數(shù)據(jù)。 交叉連接使用交叉連接使用CROSS JOINCROSS JOIN關(guān)鍵字來(lái)創(chuàng)立。關(guān)鍵字來(lái)創(chuàng)立。 說(shuō)明:說(shuō)明: 交叉連接只是用于測(cè)試一個(gè)數(shù)據(jù)庫(kù)的執(zhí)行效率,在實(shí)交叉連接只是用于測(cè)試一個(gè)數(shù)據(jù)庫(kù)的執(zhí)行效率,在實(shí)際應(yīng)用中是無(wú)意義的際應(yīng)用中是無(wú)意義的 交叉連接的使用是比較少的,交叉交叉連接的使用是比較少的,交叉連接不需要連接條件。連接不需要連接條件。交叉連接續(xù)交叉連接續(xù)【例】查詢(xún)員工表與部門(mén)表的所有組合?!纠?/p>

22、查詢(xún)員工表與部門(mén)表的所有組合。USE CompanySalesGOSELECT employee.* , department.* FROM employee CROSS JOIN departmentGO 內(nèi)連接內(nèi)連接 內(nèi)連接把兩個(gè)表中的數(shù)據(jù),通過(guò)相同的列,連接生成第內(nèi)連接把兩個(gè)表中的數(shù)據(jù),通過(guò)相同的列,連接生成第3 3個(gè)表,僅包含那些滿足連接條件的數(shù)據(jù)行。內(nèi)連接分為等值個(gè)表,僅包含那些滿足連接條件的數(shù)據(jù)行。內(nèi)連接分為等值連接、非等值連接和自然連接。連接、非等值連接和自然連接?!纠坎樵?xún)已訂購(gòu)了商品客戶的公司名稱(chēng),聯(lián)系人姓名和所【例】查詢(xún)已訂購(gòu)了商品客戶的公司名稱(chēng),聯(lián)系人姓名和所訂商品編號(hào)和

23、訂購(gòu)數(shù)量。訂商品編號(hào)和訂購(gòu)數(shù)量。【例】查詢(xún)【例】查詢(xún)“國(guó)皓科技的訂單信息國(guó)皓科技的訂單信息 說(shuō)明:說(shuō)明: 在多表查詢(xún)中,在多表查詢(xún)中,SelectSelect子句或子句或 Where Where子句中的列子句中的列名前都加上了表名作為前綴,這樣可防止來(lái)自不同表中相同名前都加上了表名作為前綴,這樣可防止來(lái)自不同表中相同屬性名發(fā)生混淆。屬性名發(fā)生混淆。 外連接外連接 分類(lèi):左外連接、右外連接和全外連接。分類(lèi):左外連接、右外連接和全外連接。u左向外連接:只包括左表的所有行,不包括右表的不匹配左向外連接:只包括左表的所有行,不包括右表的不匹配行的外連接;行的外連接;u右向外連接:只包括右表的所有行,不

24、包括左表的不匹配右向外連接:只包括右表的所有行,不包括左表的不匹配行的外連接。行的外連接。u完整外部連接:既包括左表不匹配的行,也包括右表的不完整外部連接:既包括左表不匹配的行,也包括右表的不匹配的行的連接匹配的行的連接 左外連接左外連接 語(yǔ)法如下:語(yǔ)法如下:SELECT FROM 左表名左表名 LEFT OUTER JOIN 右表名右表名ON 連接條件連接條件 【例】查詢(xún)是否所有的員工均接受了銷(xiāo)售訂單,包括員工的姓名和【例】查詢(xún)是否所有的員工均接受了銷(xiāo)售訂單,包括員工的姓名和訂單信息。訂單信息。SELECT employee.employeename, sell_order.*FROM em

25、ployee LEFT JOIN sell_order on employee.employeeID = sell_order.employeeID 右外連接右外連接右外連接的語(yǔ)法如下。右外連接的語(yǔ)法如下。SELECT SELECT FROM FROM 左表名左表名 RIGHT OUTER JOIN RIGHT OUTER JOIN 右表名右表名ON ON 連接條件連接條件 包括右表出現(xiàn)在包括右表出現(xiàn)在 JOIN JOIN 子句的最右邊中的所有行。不包括左表中子句的最右邊中的所有行。不包括左表中的不匹配行。的不匹配行?!纠坎樵?xún)是否所有的供給商提供的商品情況?!纠坎樵?xún)是否所有的供給商提供的商

26、品情況。USE CompanySalesUSE CompanySalesGOGOSELECT Purchase_order.SELECT Purchase_order.* *,viderName,viderNameFROM Purchase_order RIGHT JOIN providerFROM Purchase_order RIGHT JOIN provideron Purchase_viderID=viderID on Purchase_viderID=v

27、iderID GO GO 全外連接全外連接 全外連接的語(yǔ)法如下。全外連接的語(yǔ)法如下。SELECT SELECT FROM FROM 左表名左表名 FULL OUTER JOIN FULL OUTER JOIN 右表名右表名ON ON 連接條件連接條件 包括所有連接表中的所有記錄,不管它們是否匹配。包括所有連接表中的所有記錄,不管它們是否匹配?!纠渴褂萌膺B接查詢(xún)客戶和商品的訂購(gòu)信息,包括客戶【例】使用全外連接查詢(xún)客戶和商品的訂購(gòu)信息,包括客戶名稱(chēng)、聯(lián)系人姓名、訂購(gòu)的商品名稱(chēng)、訂購(gòu)的數(shù)量和訂購(gòu)名稱(chēng)、聯(lián)系人姓名、訂購(gòu)的商品名稱(chēng)、訂購(gòu)的數(shù)量和訂購(gòu)日期。日期。嵌套查詢(xún)嵌套查詢(xún) 在在SQLSQL中,將

28、一條中,將一條SELECTSELECT語(yǔ)句作為另一條語(yǔ)句作為另一條SELECTSELECT語(yǔ)句語(yǔ)句的一局部稱(chēng)為嵌套查詢(xún)。外層的的一局部稱(chēng)為嵌套查詢(xún)。外層的SELECTSELECT語(yǔ)句被稱(chēng)為外部查語(yǔ)句被稱(chēng)為外部查詢(xún)或父查詢(xún),內(nèi)層的詢(xún)或父查詢(xún),內(nèi)層的SELECTSELECT語(yǔ)句成為內(nèi)部查詢(xún)或子查詢(xún)。語(yǔ)句成為內(nèi)部查詢(xún)或子查詢(xún)。 嵌套查詢(xún)?nèi)缦?。嵌套查?xún)?nèi)缦?。SELECT SELECT / /* *外層查詢(xún)或父查詢(xún)外層查詢(xún)或父查詢(xún)* */ /FROM FROM WHERE WHERE IN IN ( SELECT ( SELECT / /* *內(nèi)層查詢(xún)或子內(nèi)層查詢(xún)或子查詢(xún)查詢(xún)* */ / FROM FR

29、OM WHERE WHERE ) )單值嵌套單值嵌套 單值嵌套就是通過(guò)子查詢(xún)返回一個(gè)單一的數(shù)據(jù)。當(dāng)子單值嵌套就是通過(guò)子查詢(xún)返回一個(gè)單一的數(shù)據(jù)。當(dāng)子查詢(xún)返回的是單值,可以使用查詢(xún)返回的是單值,可以使用 , ,= =,=,!=!=或或等比較運(yùn)算符參加相關(guān)表達(dá)式的運(yùn)算。等比較運(yùn)算符參加相關(guān)表達(dá)式的運(yùn)算。單值嵌套續(xù)單值嵌套續(xù)【例【例 】查找員工】查找員工“姚安娜所在的部門(mén)名稱(chēng)。姚安娜所在的部門(mén)名稱(chēng)。 步驟步驟1:查詢(xún)員工:查詢(xún)員工“姚安娜所在的部門(mén)編號(hào),查詢(xún)語(yǔ)句如下。姚安娜所在的部門(mén)編號(hào),查詢(xún)語(yǔ)句如下。SELECT departmentID FROM employeeWHERE employeeNam

30、e =姚安娜姚安娜得到的結(jié)果為得到的結(jié)果為 3步驟步驟2:查詢(xún)部門(mén)編號(hào)為:查詢(xún)部門(mén)編號(hào)為3 的部門(mén)名稱(chēng)。的部門(mén)名稱(chēng)。 SELECT departmentName FROM departmentWHERE departmentID =3得到結(jié)果為得到結(jié)果為“人事部。人事部。 組合:組合:SELECT departmentName 部門(mén)名稱(chēng)部門(mén)名稱(chēng)FROM departmentWHERE departmentID =(SELECT departmentID FROM employee WHERE employeeName=姚安娜姚安娜)單值嵌套續(xù)單值嵌套續(xù)【例【例 】查找年齡最小的員工姓名、性別和工資?!坎檎夷挲g最小的員工姓名、性別和工資。 USE CompanySalesGOSELECT employeeName 姓名, sex 性別, BirthDate 出生年月, salary 工資FROM employeeWHERE BirthDate=(SELECT MAX(BirthDate) FROM employee )GO多值嵌套多值嵌套 子查詢(xún)的返回結(jié)果是一列值的嵌套查詢(xún)稱(chēng)為多值嵌套子查詢(xún)的返回結(jié)果是一列值的嵌套查詢(xún)稱(chēng)為多值嵌套查詢(xún)。多值嵌套查

溫馨提示

  • 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)論