题目

表1: Person

表2: Address

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:

FirstName, LastName, City, State

分析

方法:使用 outer join
算法

因为表 Address 中的 personId 是表 Person 的外关键字,所以我们可以连接这两个表来获取一个人的地址信息。

考虑到可能不是每个人都有地址信息,我们应该使用 outer join 而不是默认的 inner join。

outer join 包括 left join , right join 和full join ,看情况来选择需要的外连接

解答

select FirstName, LastName, City, state
from Person left join Address
on Person.PersonId = Address.PersonId
;