首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL JOIN 圖解:INNER、LEFT、RIGHT JOIN 的集合關係與實戰範例

     編輯:關於SqlServer

JOIN 的集合觀點

將兩張表視為集合 A、B,共有欄位為連接鍵。三種基本關係:

  1. 交集:雙方鍵值相等的記錄 → INNER JOIN
  2. A 差 B:存在於 A 但鍵值不在 B 的記錄 → LEFT JOIN
  3. B 差 A:存在於 B 但鍵值不在 A 的記錄 → RIGHT JOIN

範例資料

表 A (address)

ADDRE      NAME
dddddd     ss
dddsss     ssss
eeeeee     dd

表 B (email)

MAIL       NAME
gggg       ss
jjjj       dd
hhhh       dddd

三種 JOIN 查詢與結果

1. INNER JOIN(交集)

SELECT * FROM address a
INNER JOIN email e ON a.NAME = e.NAME;

結果:ss、dd 兩筆(ssss、dddd 無對應)。

2. LEFT JOIN(A 全部 + 交集)

SELECT * FROM address a
LEFT JOIN email e ON a.NAME = e.NAME;

結果:A 三筆全保留,ssss 對應欄位為 NULL。

3. RIGHT JOIN(B 全部 + 交集)

SELECT * FROM address a
RIGHT JOIN email e ON a.NAME = e.NAME;

結果:B 三筆全保留,dddd 對應欄位為 NULL。

核心口訣

  • LEFT JOIN:以左表為主,右表不足補 NULL。
  • RIGHT JOIN:以右表為主,左表不足補 NULL。
  • INNER JOIN:只保留雙方都有的資料。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved