leetcode 175 组合两个表
- 题目
表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 outer join Address on Person.PersonId = Address.PersonId;
join
用于把来自两个或多个表的行结合起来cross join
叉联结inner join
内联结outer join
外联结left outer join
或left join
左外联结right outer join
或right join
右外联结full outer join
或full join
全外联结