oracle表連接方式(內(nèi)連接-外連接-自連接)詳解

oracle表連接方式(內(nèi)連接-外連接-自連接)詳解

ID:34725202

大?。?68.68 KB

頁數(shù):6頁

時間:2019-03-10

oracle表連接方式(內(nèi)連接-外連接-自連接)詳解_第1頁
oracle表連接方式(內(nèi)連接-外連接-自連接)詳解_第2頁
oracle表連接方式(內(nèi)連接-外連接-自連接)詳解_第3頁
oracle表連接方式(內(nèi)連接-外連接-自連接)詳解_第4頁
oracle表連接方式(內(nèi)連接-外連接-自連接)詳解_第5頁
資源描述:

《oracle表連接方式(內(nèi)連接-外連接-自連接)詳解》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、OracleOracle表之間的連接分為三種:1.內(nèi)連接(自然連接)2.外連接(1)左外連接(左邊的表不加限制)(2)右外連接(右邊的表不加限制)(3)全外連接(左右兩表都不加限制)3.自連接(同一張表內(nèi)的連接)SQL的標準語法:selecttable1.column,table2.columnfromtable1[inner

2、left

3、right

4、full]jointable2ontable1.column1=table2.column2;innerjoin表示內(nèi)連接;leftjoin表示左外連接;rightjoin表示右外連接;fulljoi

5、n表示完全外連接;on子句用于指定連接條件。注意:如果使用from子句指定內(nèi)、外連接,則必須要使用on子句指定連接條件;如果使用(+)操作符指定外連接,則必須使用where子句指定連接條件。一.內(nèi)連接(InnerJoin/Join)1.1InnerJoinInnerjoin邏輯運算符返回滿足第一個(頂端)輸入與第二個(底端)輸入聯(lián)接的每一行。這個和用select查詢多表是一樣的效果,所以內(nèi)連接用的很少。還有一點要說明的就是Join默認就是innerjoin。所以我們在寫內(nèi)連接的時候可以省略inner這個關(guān)鍵字。1.2下面舉例來說明內(nèi)連接:1.2.

6、1先創(chuàng)建2張測試表并插入數(shù)據(jù):SQL>select*fromdave;IDNAME--------------------1dave2bl1bl2daveSQL>select*frombl;IDNAME--------------------1dave2bl1.2.3用內(nèi)鏈接進行查詢:SQL>Selecta.id,a.name,b.namefromdaveainnerjoinblbona.id=b.id;--標準寫法IDNAMENAME------------------------------1davedave2blbl1bldave2dave

7、bl6OracleSQL>Selecta.id,a.name,b.namefromdaveajoinblbona.id=b.id;--這里省略了inner關(guān)鍵字IDNAMENAME------------------------------1davedave2blbl1bldave2daveblSQL>Selecta.id,a.name,b.namefromdavea,blbwherea.id=b.id;--select多表查詢IDNAMENAME------------------------------1davedave2blbl1bldav

8、e2davebl從這三個SQL的結(jié)果我們也可以看出,他們的作用是一樣的。1.3自然連接(Naturaljoin)自然連接是在兩張表中尋找那些數(shù)據(jù)類型和列名都相同的字段,然后自動地將他們連接起來,并返回所有符合條件按的結(jié)果。先看一下自然連接的例子:SQL>Selectid,namefromdaveanaturaljoinblb;IDNAME--------------------1dave2bl這里我們并沒有指定連接的條件,實際上oracle為我們自作主張的將,dave表中的id和name字段與bl表中的id和name字段進行了連接。也就是實際上相

9、當于SQL>Selectdave.id,bl.nameFromdavejoinblondave.id=bl.idanddave.name=bl.name;IDNAME--------------------1dave2bl因此,我們也可以將自然連接理解為內(nèi)連接的一種。有關(guān)自然連接的一些注意事項:(1).如果做自然連接的兩個表的有多個字段都滿足有相同名稱個類型,那么他們會被作為自然連接的條件。(2).如果自然連接的兩個表僅是字段名稱相同,但數(shù)據(jù)類型不同,那么將會返回一個錯誤。一.外連接(OuterJoin)outerjoin則會返回每個滿足第一個(

10、頂端)輸入與第二個(底端)輸入的聯(lián)接的行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。外連接分為三種:左外連接,右外連接,全外連接。對應(yīng)SQL:LEFT/RIGHT/FULLOUTERJOIN。通常我們省略outer這個關(guān)鍵字。寫成:LEFT/RIGHT/FULLJOIN。在左外連接和右外連接時都會以一張表為基表,該表的內(nèi)容會全部顯示,然后加上兩張表匹配的內(nèi)容。如果基表的數(shù)據(jù)在另一張表沒有記錄。那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。對于外連接,也可以使用“(+)”來表示。關(guān)于使用(+)的一些注意事項:1.(+)操作符只能出

11、現(xiàn)在where子句中,并且不能與outerjoin語法同時使用。2.當使用(+)操作符執(zhí)行外連接時,如果在where子句中包含有多個條件

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

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

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