SQL 的各种 join 用法

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

具体分解如下:

1.INNER JOIN(内连接)
在这里插入图片描述

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

等值连接,只返回两个表中连接字段相等的值

2.LEFT JOIN(左连接)
在这里插入图片描述

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

返回包括左表中的所有的记录和右表连接字段相等的记录

因为left join是以左表为主表,所以只要左表有数据,不管右表有没有数据(如果右表没有数据则为null),查询结果都会存在

3.RIGHT JOIN(右连接)
在这里插入图片描述

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

返回包括右表中的所有的记录和左表连接字段相等的记录

4.OUTER JOIN(外连接)
在这里插入图片描述

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

返回坐标和右表所有的数据,类似于取并集

5.LEFT JOIN EXCLUDING INNER JOIN(左连接-内连接)
在这里插入图片描述

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(右连接-内连接)
在这里插入图片描述

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(外连接-内连接)
在这里插入图片描述

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
posted @ 2022-10-30 23:22  寒小韩  阅读(1905)  评论(0编辑  收藏  举报