-
* [Level 3] 없어진 기록 찾기: JOIN[프로그래머스] SQL 고득점 Kit/JOIN 2022. 10. 10. 22:37
[문제]
천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요.
ANIMAL_OUTS에 기록이 있으나 ANIMLA_INS에는 기록이 없으므로 LEFT JOIN 하였을 때 NULL 값 가진 행을 골라내면 된다!
SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_OUTS AS O LEFT JOIN ANIMAL_INS AS I ON O.ANIMAL_ID = I.ANIMAL_ID WHERE I.DATETIME IS NULL ORDER BY O.ANIMAL_ID
JOIN 종류
- JOIN
- LEFT JOIN
- 왼쪽 테이블을 중심으로 오른쪽의 테이블 매치
- 왼쪽 테이블의 한 개의 레코드에 여러 개의 오른쪽 테이블 레코드가 일치할 경우, 해당 왼쪽 레코드를 여러 번 표시
- 왼쪽은 무조건 표시하고, 매치되는 레코드가 오른쪽에 없으면 NULL을 표시한다.
- RIGHT JOIN: LEFT JOIN과 방향만 반대
- OUTER JOIN : 조건에 부합하지 않는 행까지도 포함시켜 결합하는 것
'[프로그래머스] SQL 고득점 Kit > JOIN' 카테고리의 다른 글
* [Level 4] 보호소에서 중성화한 동물: REGEXP (0) 2022.10.11 * [Level 4] 5월 식품들의 총매출 조회하기 (0) 2022.10.11