Skip to main content

175. Combine Two Tables

Giới thiệu bài toán

Chi tiết: https://leetcode.com/problems/combine-two-tables

Table: Person

Column NameType
personIdint
lastNamevarchar
firstNamevarchar
  • personId is the primary key (column with unique values) for this table.
  • This table contains information about the ID of some persons and their first and last names.

Table: Address

Column NameType
addressIdint
personIdint
cityvarchar
statevarchar
  • addressId is the primary key (column with unique values) for this table.
  • Each row of this table contains information about the city and state of one person with ID = PersonId.
Yêu cầu

Write a solution to report the first name, last name, city, and state of each person in the Person table. If the address of a personId is not present in the Address table, report null instead.

Return the result table in any order. The result format is in the following example.

Example 1:

  • Input: Person table:
personIdlastNamefirstName
1WangAllen
2AliceBob

Address table:

addressIdpersonIdcitystate
12New York CityNew York
23LeetcodeCalifornia
  • Output:
firstNamelastNamecitystate
AllenWangNullNull
BobAliceNew York CityNew York
  • Explanation: There is no address in the address table for the personId = 1 so we return null in their city and state. addressId = 1 contains information about the address of personId = 2.

Giải quyết bài toán

SELECT
p.firstName,
p.lastName,
a.city,
a.state
FROM
Person p LEFT JOIN Address a
ON p.personId = a.personId;

Tham khảo: https://leetcode.com/submissions/detail/1039116460/