一、左连接。A表中所有记录,不管B表中有没有关联的数据。在B表中找到的关联数据列也会被一起返回
SELECT *
FORM tableA A
LEFT JOIN tableB B
ON A.key=B.key
二、右连接。B表中所有记录,不管A表中有没有关联的数据。在A表中找到的关联数据列也会被一起返回
SELECT *
FORM tableA A
RIGHT JOIN tableB B
ON A.key=B.key
三、内连接。将A表和B表中能关联起来的数据连接后返回。
SELECT *
FORM tableA A
INNER JOIN tableB B
ON A.key=B.key
四、A表有但B表没有关联数据的记录集
SELECT *
FORM tableA A
LEFT JOIN tableB B
ON A.key=B.key
WHERE B.key IS NULL
五、B表有但A表没有关联数据的记录集
SELECT *
FORM tableA A
RIGHT JOIN tableB B
ON A.key=B.key
WHERE A.key IS NULL
六、全连接,返回左右表里的所有记录,其中左右表里能关联起来的记录被连接后返回
SELECT *
FORM tableA A
FULL OUTER JOIN tableB B
ON A.key=B.key
七、返回A表和B表里没有相互关联的记录集
SELECT *
FORM tableA A
FULL OUTER JOIN tableB B
ON A.key=B.key
WHERE A.key IS NULL OR B.key IS NULL