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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix