共計 1792 個字符,預計需要花費 5 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關 SQL 中各種連接 Join 的示例分析的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
最常見的 JOIN 類型:SQL INNER JOIN(簡單的 JOIN)、SQL LEFT JOIN、SQL RIGHT JOIN、SQL FULL JOIN,其中前一種是內(nèi)連接,后三種是外鏈接。
假設我們有兩張表,Table A 是上邊的表,Table B 是下邊的表。
Table A
idname1Google2 淘寶 3 微博 4Facebook
Table B
idaddress1 美國 5 中國 3 中國 6 美國
一、INNER JOIN
內(nèi)連接是最常見的一種連接,只連接匹配的行。
inner join 語法
select column_name(s)
from table 1
INNER JOIN table 2
table 1.column_name=table 2.column_name
注釋:INNER JOIN 與 JOIN 是相同
INNER JOIN 產(chǎn)生的結(jié)果集中,是 1 和 2 的交集。
select * from Table A inner join Table B
on Table A.id=Table B.id
執(zhí)行以上 SQL 輸出結(jié)果如下:
idnameaddress1Google 美國 3 微博中國
二、LEFT JOIN
LEFT JOIN 返回左表的全部行和右表滿足 ON 條件的行,如果左表的行在右表中沒有匹配,那么這一行右表中對應數(shù)據(jù)用 NULL 代替。
LEFT JOIN 語法
select column_name(s)
from table 1
LEFT JOIN table 2
ON table 1.column_name=table 2.column_name
注釋:在某些數(shù)據(jù)庫中,LEFT JOIN 稱為 LEFT OUTER JOIN
LEFT JOIN 產(chǎn)生表 1 的完全集,而 2 表中匹配的則有值,沒有匹配的則以 null 值取代。
select * from Table A left join Table B
on Table A.id=Table B.id
執(zhí)行以上 SQL 輸出結(jié)果如下:
idnameaddress1Google 美國 2 淘寶 null3 微博中國 4Facebooknull
三、RIGHT JOIN
RIGHT JOIN 返回右表的全部行和左表滿足 ON 條件的行,如果右表的行在左表中沒有匹配,那么這一行左表中對應數(shù)據(jù)用 NULL 代替。
RIGHT JOIN 語法
select column_name(s)
from table 1
RIGHT JOIN table 2
ON table 1.column_name=table 2.column_name
注釋:在某些數(shù)據(jù)庫中,RIGHT JOIN 稱為 RIGHT OUTER JOIN
RIGHT JOIN 產(chǎn)生表 2 的完全集,而 1 表中匹配的則有值,沒有匹配的則以 null 值取代。
select * from Table A right join Table B
on Table A.id=Table B.id
執(zhí)行以上 SQL 輸出結(jié)果如下:
idnameaddress1Google 美國 5null 中國 3 微博中國 6
四、FULL OUTER JOIN
FULL JOIN 會從左表 和右表 那里返回所有的行。如果其中一個表的數(shù)據(jù)行在另一個表中沒有匹配的行,那么對面的數(shù)據(jù)用 NULL 代替
FULL OUTER JOIN 語法
select column_name(s)
from table 1
FULL OUTER JOIN table 2
ON table 1.column_name=table 2.column_name
FULL OUTER JOIN 產(chǎn)生 1 和 2 的并集。但是需要注意的是,對于沒有匹配的記錄,則會以 null 做為值。
select * from Table A full outer join Table B
on Table A.id=Table B.id
執(zhí)行以上 SQL 輸出結(jié)果如下:
idnameaddress1Google 美國 2 淘寶 null3 微博中國 4Facebooknull5null 中國 6null 美國
感謝各位的閱讀!關于“SQL 中各種連接 Join 的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節(jié)