表1:Person
列名 |
类型 |
备注 |
PersonId |
int |
主键 |
FirstName |
varchar |
|
LastName |
varchar |
|
表2:Address
列名 |
类型 |
备注 |
AddressId |
int |
主键 |
PersonId |
int |
|
City |
varchar |
|
State |
varchar |
|
要求:无论person是否有地址信息,都需要基于上述两表提供person的以下信息:
FirstName, LastName, City, State
例如:表一中有数据:[1, "Wang", "Allen"], 表二中有数据[1,2,"New York City","New York"]
预期输出["Wang", "Allen", null, null]
select p.FirstName, p.LastName, a.City, a.State
from Person p left join Address a
on p.PersonId = a.PersonId
需要使用左连接(left join) , 左连接的结果集包含左表的所有行,即使这些行在右表中没有出现。如果在右表中没有匹配行,则在结果集中的所有选择列表列均为空值。