首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL LEFT JOIN、RIGHT JOIN、INNER JOIN 圖文詳細解析

     編輯:MySQL 資料庫相關知識

測試資料

表 A

aIDaNum
1a20050111
2a20050112
3a20050113
4a20050114
5a20050115

表 B

bIDbName
12006032401
22006032402
32006032403
42006032404
82006032408

1. LEFT JOIN(左聯接)

SELECT * FROM a LEFT JOIN b ON a.aID = b.bID;

結果:A 表 5 筆全顯示,B 表匹配顯示,無匹配處為 NULL(第 5 筆)。
以左表(A)為基準,左表全出,右表補 NULL。

2. RIGHT JOIN(右聯接)

SELECT * FROM a RIGHT JOIN b ON a.aID = b.bID;

結果:B 表 5 筆全顯示,A 表匹配顯示,無匹配處為 NULL(bID=8)。
以右表(B)為基準,右表全出,左表補 NULL。

3. INNER JOIN(內聯接/等值聯接)

SELECT * FROM a INNER JOIN b ON a.aID = b.bID;
-- 等同於
SELECT * FROM a, b WHERE a.aID = b.bID;

結果:僅顯示雙方匹配的 4 筆(aID=1~4)。
不以任何表為基準,僅輸出符合條件的記錄。

語法與說明

FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
  • field1/field2:同資料型別、同類型資料,名稱可不同
  • compopr:=, <, >, <=, >=, <>
  • 若聯接欄位含 Memo/OLE Object 型別會報錯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved