组合两个表 --- MySQL [Leetcode 题目详解]
目录
题目链接
往期相关基础内容讲解博客
题目详解
1. 题目内容
2. 解题思路
3. 代码编写
题目链接
// 175. 组合两个表
往期相关基础内容讲解博客
// 聚合查询和联合查询博客
题目详解
1. 题目内容
// 编写解决方案,报告 Person
表中每个人的姓、名、城市和州。如果 personId
的地址不在 Address
表中,则报告为 null
。以 任意顺序 返回结果表。
2. 解题思路
// 从题目中给出的表结构可以看出, 表 1 (Person) 是个人姓名信息, 表 2 (Address) 是个人的住址信息
// 查询结果涉及到两个表的列名, 所以需要进行多表联合查询
// 题目中给出可能有的人没有住址信息, 要是查询结构要查所有人, 那么就需要保留表 1 (Person) 里的全部数据, 所以需要用到左联结 (left join)
// 两个表的联结条件: 通过 personId 联结到一起
3. 代码编写
select FirstName, LastName, City, State
from Person left join Address
on Person.PersonId = Address.PersonId;