문제 설명
예시
풀이 방법
입양 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 문제입니다. 이를 위해 동물보호소에 들어온 동물의 정보를 담은 테이블 ANIMAL_INS와 입양 보낸 동물의 정보를 담은 테이블 ANIMAL_OUTS를 ANIMAL_ID가 일치하는 것끼리 매치하여 JOIN합니다. 그리고 입양 간 기록은 있으나 들어온 기록이 없다는 것은 ANIMAL_OUTS에는 동물의 ID가 있으나, ANIMAL_INS에는 없다는 것을 말하므로 WHERE절에 ANIMAL_INS의 ANIMAL_ID 가 NULL인 것을 추출합니다. 다음으로 ID순으로 ORDER BY하여 정렬합니다. 이 때, SELECT절에서 나타나야 하는 동물의 ID와 이름 컬럼은 입양을 간 기록이 있는 ANIMAL_OUTS에서 추출해야 합니다.
문제 풀이
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS OUTS LEFT OUTER JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL
ORDER BY ANIMAL_ID
실행 결과
'코딩테스트 > SQL' 카테고리의 다른 글
[프로그래머스] JOIN 〉Lv3. 오랜 기간 보호한 동물(1) (0) | 2021.10.23 |
---|---|
[프로그래머스] JOIN 〉Lv3. 있었는데요 없었습니다 (0) | 2021.10.22 |
[프로그래머스] IS NULL 〉Lv2. NULL 처리하기 (0) | 2021.10.20 |
[프로그래머스] IS NULL 〉Lv1. 이름이 있는 동물의 아이디 (0) | 2021.10.19 |
[프로그래머스] IS NULL 〉Lv1. 이름이 없는 동물의 아이디 (0) | 2021.10.18 |
댓글