JOIN用法


在实际的数据库应用中,我们经常需要从多个数据表中读取数据,这时我们就可以使用SQL语句中的连接(JOIN),在两个或多个数据表中查询数据。

本文介绍一下以下七种JOIN用法:

INNER JOIN(内连接)

  • 如果表中有至少一个匹配,则返回行。
  • INNER JOIN与JOIN是相同的。
    INNER JOIN
SELECT * 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key

LEFT JOIN(左连接)

  • 即使右表中没有匹配,也从左表返回所有的行。
    LEFT JOIN
SELECT * 
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key

RIGHT JOIN(右连接)

  • 即使左表中没有匹配,也从右表返回所有的行。
    RIGHT JOIN
SELECT * 
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key

FULL OUTER JOIN(外连接)

  • 只要其中一个表中存在匹配,则返回行。
  • 在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
    FULL OUTER JOIN
SELECT * 
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key

LEFT EXCLUDING JOIN INNER JOIN(左连接排除内连接结果)

LEFT EXCLUDING JOIN

SELECT *  
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
WHERE B.Key IS NULL

RIGHT EXCLUDING JOIN INNER JOIN(右连接排除内连接结果)

RIGHT EXCLUDING JOIN

SELECT * 
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL

OUTER EXCLUDING JOIN INNER JOIN(外连接排除内连接结果)

OUTER EXCLUDING JOIN

SELECT * 
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

猜你喜欢

转载自blog.csdn.net/weixin_46856842/article/details/106222186