mysql 左外连接 LEFT OUTER ON 右外连接 RIGHT OUTER ON
思路和心得:
1.内连接和外连接
(1) 左外连接(LEFT OUTER JOIN),结果保留左表的全部数据
(2) 右外连接(RIGHT OUTER JOIN),结果保留右表的全部数据
(3) 全外连接(FULL OUTER JOIN),结果是2个表的并集
(4) 内连接(INNER JOIN),两表的公共数据
(5) CROSS JOIN 交叉连接 结果是笛卡尔积,排列组合的所有情况
2.因为可能有记录没有地址信息
使用默认的内连接,如果遇到null会查不出来
所以使用外连接
表1的信息是全的,表2的信息可能不全
所以外连接时,显示全表1的信息
3.为了方便书写
使用别名 AS p, AS a
表1 LEFT OUTER JOIN 表2
SELECT FirstName, LastName, City, State
FROM Person AS p
LEFT OUTER JOIN Address AS a
ON p.PersonId = a.PersonId
表2 RIGHT OUTER JOIN 表1
SELECT FirstName, LastName, City, State
FROM Address AS a
RIGHT OUTER JOIN Person AS p #右外连接
ON p.PersonId = a.PersonId