分析
难度 易
来源
https://leetcode.com/problems/combine-two-tables/
SQL LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
LEFT JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
题目
Table: Person
±------------±--------+
| Column Name | Type |
±------------±--------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
±------------±--------+
PersonId is the primary key column for this table.
Table: Address
±------------±--------+
| Column Name | Type |
±------------±--------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
±------------±--------+
AddressId is the primary key column for this table.
Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:
FirstName, LastName, City, State
解答
Runtime: 184 ms, faster than 99.52% of MySQL online submissions for Combine Two Tables.
#Write your MySQL query statement below
select Person.FirstName, Person.LastName,Address.City,Address.State from Person left join Address on Person.PersonId=Address.PersonId order by Person.FirstName;