Sql_Lab2 連接查詢和嵌套查詢

Sql_Lab2 連接查詢和嵌套查詢

ID:38275696

大?。?67.00 KB

頁數(shù):11頁

時間:2019-06-07

Sql_Lab2 連接查詢和嵌套查詢_第1頁
Sql_Lab2 連接查詢和嵌套查詢_第2頁
Sql_Lab2 連接查詢和嵌套查詢_第3頁
Sql_Lab2 連接查詢和嵌套查詢_第4頁
Sql_Lab2 連接查詢和嵌套查詢_第5頁
資源描述:

《Sql_Lab2 連接查詢和嵌套查詢》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、第一部分:SQL實驗二SQL實驗二連接查詢和嵌套查詢實驗目標:?掌握基本的連接查詢操作?等值連接?非等值連接?自身連接?外連接?掌握嵌套查詢操作?帶有比較運算符的子查詢?帶有IN謂詞的子查詢?帶有ANY或ALL謂詞的子查詢?帶有EXISTS謂詞的子查詢2.1連接實驗一的查詢都只涉及了一個表,但由于存放在數(shù)據(jù)庫中的各個表不是孤立的,而是相互聯(lián)系的,因此,有時我們會對多個表中的數(shù)據(jù)同時進行查詢以組成一個綜合性的結(jié)果集,這樣的查詢稱為連接查詢。連接查詢主要包括:?等值連接?非等值連接?自身連接?外連接下面詳細介紹各種連接查詢類型。1.等值連接以等

2、于運算符(=)為基礎的連接稱為等值連接。通常情況下,所有連接都是等值連接。等值連接的語法如下:SELECTFROMWHEREtable1.common_column=table2.common_columnANDtable3.common_column=tablen.common_column;實驗2-1查詢所有產(chǎn)品的名稱、類別名稱和庫存量等數(shù)據(jù)。實驗2,第1頁第一部分:SQL實驗二實驗2-2查詢所有訂單的訂單代號、客戶公司名稱和運貨費,查詢結(jié)果按訂單代號的升序排列。實驗2,第2頁第一

3、部分:SQL實驗二實驗2-3查詢由北京客戶訂購的運貨費等于于8元的訂單的訂單代號、客戶公司名稱和運貨費。等值連接可在兩個表上執(zhí)行,也可在多個表上執(zhí)行。下面看看如何在一個連接中使用四個表。實驗2-4查詢每一客戶的客戶代號、公司名稱及其訂單的訂單代號、訂購日期、產(chǎn)品名稱和數(shù)量等數(shù)據(jù)。本例查詢中的客戶代號、公司名稱來自于Customer表,訂單代號、訂購日期來自于Orders表,產(chǎn)品名稱來自于Product表,而數(shù)量來自于Order_items表。用SELECT語句表示如下:SELECTCustomer.Cno,Company,Orders.On

4、o,Order_date,Pname,QtyFROMCustomer,Orders,Order_items,ProductWHERECustomer.Cno=Orders.CnoANDOrders.Ono=Order_items.OnoANDOrder_items.Pno=Product.Pno;請學生自行觀察查詢結(jié)果。練習2-1修改實驗2-4中給出的語句并以如下方式給出,然后觀察發(fā)生什么情況。SELECTCno,Company,Ono,Order_date,Pname,QtyFROMCustomer,Orders,Order_items,

5、ProductWHERECustomer.Cno=Orders.CnoANDOrders.Ono=Order_items.OnoANDOrder_items.Pno=Product.Pno;給出上面的選擇語句后,會出現(xiàn)“Columnambiguouslydefined”(列定義模糊不清)的出錯信息。這是因為“Ono”存在于兩個表(即Orders表和Order_items表)之中。我們需要明確指定要從哪個表選擇Ono。在這種情況下,可以從任何一個表中選擇Ono。2.非等值連接實驗2,第3頁第一部分:SQL實驗二實驗2-5查詢所有單價介于20和

6、35元之間的產(chǎn)品的名稱、類別名稱、單價和庫存量等數(shù)據(jù)?;?.自身連接自身連接是連接的另一種形式。在這種情況下,連接是在單個表上進行的,就像它是兩個獨立的表。表的每個行都與其本身組合,并與表的所有行組合。實驗2-6查詢單價正好相差0.5倍的每一對產(chǎn)品的名稱及其單價。實驗2,第4頁第一部分:SQL實驗二注意:在進行表的自身連接時,須在FROM子句中給同一個表取不同的別名,并在書寫SELECT語句的其它子句時把這些代表同一表的不同別名看成是具有相同數(shù)據(jù)的“不同表”(讀者在理解自身連接查詢時,可以將它們看成不同的表,但實際上只有一個表)。練習2-2

7、查詢與“DuWei”客戶在同一城市的其他客戶的姓名及其電話。4.外連接前面介紹的查詢都是內(nèi)連接。內(nèi)連接不選擇表中不符合查詢條件的記錄。這些值可通過外連接獲得,外連接利用運算符加號(+)。語法如下:SELECT(column_names)FROM(tablenames)WHERE(table1.column1=table2.column2)(+);實驗2-7查詢所有客戶的代號、姓名以及其訂單的代號和訂購日期與訂單狀態(tài),查詢結(jié)果按客戶代號的升序排列。先請看下面的SQL語句及其查詢結(jié)果:實驗2,第5頁第一部分:SQL實驗二上面的查詢是一個內(nèi)連接,

8、由于客戶“C0003”和“C0004”沒有訂單,他們都不滿足查詢條件,因此他們的信息沒有出現(xiàn)在查詢結(jié)果中;如果我們想讓這兩個客戶的信息也出現(xiàn)在查詢結(jié)果中就需要使用下面的外連接語句

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。