下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图1
具体分解如下:

1.INNER JOIN(内连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图2

  1. SELECT <select_list>
  2. FROM Table_A A
  3. INNER JOIN Table_B B
  4. ON A.Key = B.Key

2.LEFT JOIN(左连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图3

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

3.RIGHT JOIN(右连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图4

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

4.OUTER JOIN(外连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图5

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

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

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图6

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(右连接-内连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图7

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(外连接-内连接)

【62期】解释一下MySQL中内连接,外连接等的区别(MySQL面试第五弹) - 图8

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

来源:www.codeproject.com/Articles/33052