下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

看一张图秒懂 SQL 的各种 join 用法_MySQL

 

具体分解如下:

1.INNER JOIN(内连接)

看一张图秒懂 SQL 的各种 join 用法_MySQL_02

 

 

SELECT <select_list> 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key


 

2.LEFT JOIN(左连接)

看一张图秒懂 SQL 的各种 join 用法_MySQL_03

 

 

SELECT <select_list>
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key


 

3.RIGHT JOIN(右连接)

看一张图秒懂 SQL 的各种 join 用法_外连接_04

 

 

SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key


 

4.OUTER JOIN(外连接)

看一张图秒懂 SQL 的各种 join 用法_SQL_05

 

 

SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key


 

5.LEFT JOIN EXCLUDING INNER JOIN(左连接-内连接)

看一张图秒懂 SQL 的各种 join 用法_外连接_06

 

 

SELECT <select_list> 
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
WHERE B.Key IS NULL


 

6.RIGHT JOIN EXCLUDING INNER JOIN(右连接-内连接)

看一张图秒懂 SQL 的各种 join 用法_外连接_07

 

 

SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL


 

7.OUTER JOIN EXCLUDING INNER JOIN(外连接-内连接)

看一张图秒懂 SQL 的各种 join 用法_MySQL_08

 

 

SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL OR B.Key IS NULL