LeetCode题库 - 组合两张表
1. 题目来源:
组合两个表
2. 具体题目:
创建两张表:分别为Person和Address
查询条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State
3. 思路:
本题主要考察的是SQL连接中的外连接
根据查询条件,无论person是否有地址信息,都需要提供所需的信息
因此,表的外连接为Person表左连接Address表,即Person left join Address on Person.PersonId = Address.PersonId
4. 具体操作:
# 创建Person表 CREATE TABLE Person( PersonId INT PRIMARY KEY, FirstName VARCHAR(20), LastName VARCHAR(20) ); # 创建Address表 CREATE TABLE Address( AddressId INT PRIMARY KEY, PersonId INT, City VARCHAR(50), State VARCHAR(50) );
SELECT FirstName, LastName, City, State FROM Person LEFT JOIN Address ON person.PersonId = address.PersonId;