728x90
1. leetCode 접속 후 Problems 에서 Database 문제 중 175번 선택
2. 문제는 영어지만 번역기로 돌리면 충분히 이해 가능한 범위일 수도 있다.
문제를 구글번역기로 번역하면 다음과 같다.
문제 : 각 사람에 대한 주소가 있는지 여부에 관계없이 Person 테이블의 각 사람에 대해 다음 정보를 제공하는 보고서에 대한 SQL 쿼리를 작성합니다.
3. 정답 : Description 옆에 Solution 탭으로 이동 또는
https://nifannn.github.io/2017/10/25/SQL-Notes-Leetcode-175-Combine-Two-Tables/ 참고
4. 정답 해설
각 사람에 대한 주소(AddressId)가 있는지
여부에 관계없이(left join. 관계가 있다면 inner join으로 추정) Person 테이블(table 1 - Person)의
각 사람에 대해 다음 정보(table 2 - Address)를 제공하는 보고서에 대한
SQL 쿼리(FirstName, LastName, City, State)를 작성합니다.
두 테이블의 키는 추정해본다면 공통으로 들어가 있는 컬럼인 PersonId 로 조인을 해야되겠다는 생각이 들 것이고,
위에서 코멘트했듯이 사람의 주소가 있든 없든 무조건 정보를 제공해야하니 left join으로 두 테이블을 이어주면 될 것이다.
5. 쿼리 (위 정답 링크와 동일)
SELECT table1.FirstName, table1.LastName, table2.City, table2.State
FROM Person AS table1
LEFT JOIN Address AS table2
ON table1.PersonId = table2.PersonId;
728x90
'데이터베이스 > 쿼리 문제' 카테고리의 다른 글
182. Duplicate Emails (leetCode 코딩 알고리즘 문제) (0) | 2021.09.05 |
---|---|
181. Employees Earning More Than Their Managers (leetCode 코딩 알고리즘 문제) (4) | 2021.08.28 |
176. Second Highest Salary (leetCode 코딩 알고리즘 문제) (0) | 2021.08.28 |