跳到主要内容

175.组合两个表

序号题目难度
175题目链接简单

题目大意​

编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null 。

以 任意顺序 返回结果表。

表: Person

列名类型
PersonIdint
FirstNamevarchar
LastNamevarchar

personId 是该表的主键(具有唯一值的列)。 该表包含一些人的 ID 和他们的姓和名的信息。

表: Address

列名类型
AddressIdint
PersonIdint
Cityvarchar
Statevarchar

addressId 是该表的主键(具有唯一值的列)。 该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。

示例​

输入​

Person 表:

personIdlastNamefirstName
1WangAllen
2AliceBob

Address 表:

addressIdpersonIdcitystate
12New York CityNew York
23LeetcodeCalifornia

输出​

firstNamelastNamecitystate
AllenWangNullNull
BobAliceNew York CityNew York

解释: 地址表中没有 personId = 1 的地址,所以它们的城市和州返回 null。 addressId = 1 包含了 personId = 2 的地址信息。

参考答案​

select
firstName
, lastName
, city
, state
from Person t1
left join Address t2
on t1.personId = t2.personId
;