【MySQL】记录7种SQL join语句

1、内连接
内连接

SELECT <select...list> 
FROM TableA A 
INNER JOIN TableB B 
ON A.Key=B.Key; 

2、左外连接(包括公共部分)
左外连接(包括公共部分)

SELECT <select...list>
FROM TableA A 
LEFT JOIN TableB B 
ON A.Key=B.Key;

3、右外连接(包括公共部分)
右外连接(包括公共部分)

SELECT <select...list>
FROM TableA A 
RIGHT JOIN TableB B 
ON A.Key=B.Key;

4、左外连接(不包括公共部分)
左外连接(不包括公共部分)

SELECT <select...list>
FROM TableA A 
LEFT JOIN TableB B 
ON A.Key=B.Key 
WHERE B.Key IS NULL;

5、右外连接(不包括公共部分)
右外连接(不包括公共部分)

SELECT <select...list>
FROM TableA A RIGHT JOIN TableB B 
ON A.Key=B.Key 
WHERE A.Key IS NULL;

6、全外连接
全外连接
MySQL版本(不支持FULL OUTER JOIN)

SELECT <select...list>
FROM TableA A 
LEFT JOIN TableB B 
ON A.Key=B.Key;
UNION
SELECT <select...list>
FROM TableA A 
RIGHT JOIN TableB B 
ON A.Key=B.Key;

orcale可以简化:

SELECT <select...list>
FROM TableA A 
FULL OUTER JOIN TableB B
ON A.Key=B.Key

7、交叉外连接

交叉外连接
MySQL:

SELECT <select...list>
FROM TableA A 
LEFT JOIN TableB B 
ON A.Key=B.Key 
WHERE B.Key IS NULL;
UNION
SELECT <select...list>
FROM TableA A 
RIGHT JOIN TableB B 
ON A.Key=B.Key 
WHERE A.Key IS NULL;

orcale:

SELECT <select...list>
FROM TableA A 
FULL OUTER JOIN TableB B
ON A.Key=B.Key
WHERE A.Key IS NULL OR B.Key IS NULL;
原创文章 10 获赞 10 访问量 4760

猜你喜欢

转载自blog.csdn.net/Steven_L_/article/details/105841571
今日推荐