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

简介: 一张图看懂 SQL 的各种 join 用法!

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

image.png


具体分解如下:


1.INNER JOIN(内连接)

image.png

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

2.LEFT JOIN(左连接)

image.png

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

3.RIGHT JOIN(右连接)

image.png

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

4.OUTER JOIN(外连接)

image.png

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

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

image.png

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

image.png

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

image.png

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

关于join,你学废了么?

目录
相关文章
|
1天前
|
SQL Java 数据库连接
深入理解SQL中的LEFT JOIN操作
深入理解SQL中的LEFT JOIN操作
|
2天前
|
SQL 存储 机器人
SQL Server 中 RAISERROR 的用法详解
SQL Server 中 RAISERROR 的用法详解
|
3天前
|
SQL
SQL中CASE WHEN THEN ELSE END的用法详解
SQL中CASE WHEN THEN ELSE END的用法详解
|
5天前
|
Java 数据库
java.sql.timestamp用法详解
java.sql.timestamp用法详解
|
5天前
|
Java 数据库连接 数据库
java.sql.Timestamp用法总结
java.sql.Timestamp用法总结
|
5天前
|
SQL
SQL语句case when then else end用法
SQL语句case when then else end用法
|
8天前
|
SQL 数据库
SQL DISTINCT 用法总结
SQL DISTINCT 用法总结
|
5天前
|
SQL 数据处理 数据库
SQL中的DISTINCT用法总结
SQL中的DISTINCT用法总结
|
9天前
|
SQL
SQL语句中EXISTS的用法
SQL语句中EXISTS的用法
|
9天前
|
SQL 搜索推荐 数据库
Sql中的like的用法
Sql中的like的用法