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

SQL LEFT JOIN、RIGHT JOIN 與 INNER JOIN 差異圖解

     編輯:關於SqlServer

範例資料

表 A表 B
aidadatebidbdate
1a11b1
2a22b2
3a34b4

三種 JOIN 比較

INNER JOIN

僅回傳雙方皆有對應的資料列:

SELECT * FROM a INNER JOIN b ON a.aid = b.bid;

結果:

1 a1 b1
2 a2 b2

LEFT JOIN (LEFT OUTER JOIN)

回傳左表所有資料列,右表無對應則為 NULL:

SELECT * FROM a LEFT JOIN b ON a.aid = b.bid;

結果:

1 a1 b1
2 a2 b2
3 a3 NULL

RIGHT JOIN (RIGHT OUTER JOIN)

回傳右表所有資料列,左表無對應則為 NULL:

SELECT * FROM a RIGHT JOIN b ON a.aid = b.bid;

結果:

1 a1 b1
2 a2 b2
NULL NULL 4 b4

關鍵差異

  • INNER JOIN:交集。
  • LEFT JOIN:左表全集 + 右表匹配。
  • RIGHT JOIN:右表全集 + 左表匹配。

實務上多用 LEFT JOIN,以主表為基準查詢關聯明細。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved