2 回答

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

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