表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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/combine-two-tables
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
要求为,无论是否有地址信息,都要提供名字,城市,和State.
MySql 中 INNER JOIN 、OUTER JOIN.
INNER JOIN为默认加入,只筛选出符合判断语句的,
OUTER JOIN分为LEFT JOIN 和 RIGHT JOIN
如:SELECT * FROM a LEFT OUTER JOIN b ON a.name
= b.name
,筛选出来后a表在左边,不管a表的符不符合a.name=b.name. 都将在左侧显示出来
select FirstName, LastName, City, State
from Person left join Address
on Person.PersonId = Address.PersonId;
作者:LeetCode
链接:https://leetcode-cn.com/problems/combine-two-tables/solution/zu-he-liang-ge-biao-by-leetcode/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。