表1: Person
±------------±--------+
| 列名 | 类型 |
±------------±--------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
±------------±--------+
PersonId 是上表主键
表2: Address
±------------±--------+
| 列名 | 类型 |
±------------±--------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
±------------±--------+
AddressId 是上表主键
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State
where默认为内连接,如果person没有地址信息的话,无信息打印出来。
此时需要运用外来来处理,左连接会将左边表的信息打印出来,右边缺失的部分会补全,右连接同理。
select FirstName, LastName, City, State from Person p left join Address a on p.PersonId=a.PersonId;