[LeetCode] Combine Two Tables

아르당·2025년 9월 25일

LeetCode

목록 보기
39/68
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

Table: Person

Column NameType
personIdint
lastNamevarchar
firstNamevarchar

personId는 이 테이블의 기본키(고유한 값을 갖는 열)이다.
이 표에는 일부 사람들의 ID와 이름, 성에 대한 정보가 포함되어 있다.

Table: Address

Column NameType
addressIdint
personIdint
cityvarchar
statevarchar

addressId는 이 테이블의 기본키(고유한 값을 갖는 열)이다.
이 표의 각 행에는 ID = PersonId인 한 사람의 도시와 주에 대한 정보가 포함되어 있다.

Person 테이블에 있는 각 사람의 이름, 성, 도시, 주를 보고하는 솔루션을 작성해라. 만약 personId의 주소가 Address 테이블에 없다면, null을 보고해라.

결과 테이블을 원하는 순서대로 반환해라.

Example

Input:
Person table:

personIdlastNamefirstName
1WangAllen
2AliceBob

Address table:

addressIdpersonIdcitystate
12New York CityNew York
23LeetCodeCalifornia

Output:

firstNamelastNamecitystate
AllenWangNullNull
BobAliceNew York CityNew York

Explanation:
personId = 1인 경우 address 테이블에 주소가 없으므로, 해당 도시의 주소와 주에 null을 반환한다.
addressId = 1에는 personId = 2인 경우의 주소가 포함되어 있다.

Solved

left Outer Join을 사용하면 쉽게 Query를 작성할 수 있다.

-- Write your PostgreSQL query statement below
select A.firstName, A.lastName, B.city, B.state
from Person as A
left outer join Address as B on A.personId = B.personId
profile
내 마음대로 코드 작성하는 세상

0개의 댓글