문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
Table: Person
| Column Name | Type |
|---|---|
| personId | int |
| lastName | varchar |
| firstName | varchar |
personId는 이 테이블의 기본키(고유한 값을 갖는 열)이다.
이 표에는 일부 사람들의 ID와 이름, 성에 대한 정보가 포함되어 있다.
Table: Address
| Column Name | Type |
|---|---|
| addressId | int |
| personId | int |
| city | varchar |
| state | varchar |
addressId는 이 테이블의 기본키(고유한 값을 갖는 열)이다.
이 표의 각 행에는 ID = PersonId인 한 사람의 도시와 주에 대한 정보가 포함되어 있다.
Person 테이블에 있는 각 사람의 이름, 성, 도시, 주를 보고하는 솔루션을 작성해라. 만약 personId의 주소가 Address 테이블에 없다면, null을 보고해라.
결과 테이블을 원하는 순서대로 반환해라.
Input:
Person table:
| personId | lastName | firstName |
|---|---|---|
| 1 | Wang | Allen |
| 2 | Alice | Bob |
Address table:
| addressId | personId | city | state |
|---|---|---|---|
| 1 | 2 | New York City | New York |
| 2 | 3 | LeetCode | California |
Output:
| firstName | lastName | city | state |
|---|---|---|---|
| Allen | Wang | Null | Null |
| Bob | Alice | New York City | New York |
Explanation:
personId = 1인 경우 address 테이블에 주소가 없으므로, 해당 도시의 주소와 주에 null을 반환한다.
addressId = 1에는 personId = 2인 경우의 주소가 포함되어 있다.
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