2 回答

TA貢獻1876條經(jīng)驗 獲得超7個贊
表連接
內(nèi)連接(自然連接)
外連接
(1)左外連接 (左邊的表不加限制)
(2)右外連接(右邊的表不加限制)
(3)全外連接(左右兩表都不加限制)
自連接(同一張表內(nèi)的連接)
inner join 表示內(nèi)連接;
left join表示左外連接;
right join表示右外連接;
full join表示完全外連接;
on子句 用于指定連接條件。
注意:
如果使用from子句指定內(nèi)、外連接,則必須要使用on子句指定連接條件;
如果使用(+)操作符指定外連接,則必須使用where子句指定連接條件。
一. 內(nèi)連接(Inner Join/Join)
1.1 Inner Join
Inner join邏輯運算符返回滿足第一個(頂端)輸入與第二個(底端)輸入聯(lián)接的每一行。這個和用select查詢多表是一樣的效果,所以內(nèi)連接用的很少。
還有一點要說明的就是Join 默認就是inner join。 所以我們在寫內(nèi)連接的時候可以省略inner 這個關(guān)鍵字。
1.3 自然連接(Natural join)
自然連接是在兩張表中尋找那些數(shù)據(jù)類型和列名都相同的字段,然后自動地將他們連接起來,并返回所有符合條件按的結(jié)果。
二. 外連接(Outer Join)
outer join則會返回每個滿足第一個(頂端)輸入與第二個(底端)輸入的聯(lián)接的行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。外連接分為三 種: 左外連接,右外連接,全外連接。 對應(yīng)SQL:LEFT/RIGHT/FULL OUTER JOIN。 通常我們省略outer 這個關(guān)鍵字。 寫成:LEFT/RIGHT/FULL JOIN。
在左外連接和右外連接時都會以一張表為基表,該表的內(nèi)容會全部顯示,然后加上兩張表匹配的內(nèi)容。 如果基表的數(shù)據(jù)在另一張表沒有記錄。 那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。
對于外連接, 也可以使用“(+) ”來表示。 關(guān)于使用(+)的一些注意事項:
1.(+)操作符只能出現(xiàn)在where子句中,并且不能與outer join語法同時使用。
2. 當使用(+)操作符執(zhí)行外連接時,如果在where子句中包含有多個條件,則必須在所有條件中都包含(+)操作符

TA貢獻2012條經(jīng)驗 獲得超12個贊
表連接
內(nèi)連接(自然連接)
外連接
(1)左外連接 (左邊的表不加限制)
(2)右外連接(右邊的表不加限制)
(3)全外連接(左右兩表都不加限制)
自連接(同一張表內(nèi)的連接)
inner join 表示內(nèi)連接;
left join表示左外連接;
right join表示右外連接;
full join表示完全外連接;
on子句 用于指定連接條件。
注意:
如果使用from子句指定內(nèi)、外連接,則必須要使用on子句指定連接條件;
如果使用(+)操作符指定外連接,則必須使用where子句指定連接條件。
一. 內(nèi)連接(Inner Join/Join)
1.1 Inner Join
Inner join邏輯運算符返回滿足第一個(頂端)輸入與第二個(底端)輸入聯(lián)接的每一行。這個和用select查詢多表是一樣的效果,所以內(nèi)連接用的很少。
還有一點要說明的就是Join 默認就是inner join。 所以我們在寫內(nèi)連接的時候可以省略inner 這個關(guān)鍵字。
1.3 自然連接(Natural join)
自然連接是在兩張表中尋找那些數(shù)據(jù)類型和列名都相同的字段,然后自動地將他們連接起來,并返回所有符合條件按的結(jié)果。
二. 外連接(Outer Join)
outer join則會返回每個滿足第一個(頂端)輸入與第二個(底端)輸入的聯(lián)接的行。它還返回任何在第二個輸入中沒有匹配行的第一個輸入中的行。外連接分為三 種: 左外連接,右外連接,全外連接。 對應(yīng)SQL:LEFT/RIGHT/FULL OUTER JOIN。 通常我們省略outer 這個關(guān)鍵字。 寫成:LEFT/RIGHT/FULL JOIN。
在左外連接和右外連接時都會以一張表為基表,該表的內(nèi)容會全部顯示,然后加上兩張表匹配的內(nèi)容。 如果基表的數(shù)據(jù)在另一張表沒有記錄。 那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。
對于外連接, 也可以使用“(+) ”來表示。 關(guān)于使用(+)的一些注意事項:
1.(+)操作符只能出現(xiàn)在where子句中,并且不能與outer join語法同時使用。
2. 當使用(+)操作符執(zhí)行外連接時,如果在where子句中包含有多個條件,則必須在所有條件中都包含(+)操作符
- 2 回答
- 0 關(guān)注
- 726 瀏覽
添加回答
舉報