原题:
表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
代码
select FirstName, LastName, City, State
from Person left join Address
on Person.PersonId = Address.PersonId
思路:
首先组合两个表要用到join语句,而具体使用哪种join我们还需要了解题意
Address表中的PersonId是Person表的外关键字,
所以用连接两个表,表示一个人的信息
而每个人并不要求都有地址信息
所以我们采用outer join
而不是默认的inter join