문제 설명
예시
풀이 방법
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었다고 합니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하여 결과는 보호 시작일이 빠른 순으로 정렬하는 문제입니다. 이 문제도 이 전 문제와 마찬가지로 ANIMAL_INS와 ANIMAL_OUTS의 동물의 아이디가 같은 것 끼리 매치하여 JOIN 합니다. 그리고 WHERE절에서 INS의 보호 시작일(DATETIME)이 OUTS의 입양일(DATETIME)보다 더 클 때를 조건으로 하여 보호 시작일보다 입양일이 더 빠른 동물들을 추출합니다. 다음으로 보호 시작일인 INS의 DATETIME이 빠른 순으로 정렬되도록 ORDER BY에 입력해 줍니다. 이때 SELECT절에는 INS 테이블의 동물 아이디와 이름이거나 OUTS테이블의 동물 아이디와 이름으로 설정하면 됩니다. 즉, 둘 다 같은 결과를 나타내며 둘 다 정답으로 처리됩니다.
문제 풀이
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS INS LEFT JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE INS.DATETIME > OUTS.DATETIME
ORDER BY INS.DATETIME
실행 결과
'코딩테스트 > SQL' 카테고리의 다른 글
[프로그래머스] JOIN 〉Lv4. 보호소에서 중성화한 동물 (0) | 2021.10.24 |
---|---|
[프로그래머스] JOIN 〉Lv3. 오랜 기간 보호한 동물(1) (0) | 2021.10.23 |
[프로그래머스] JOIN 〉Lv3. 없어진 기록 찾기 (0) | 2021.10.21 |
[프로그래머스] IS NULL 〉Lv2. NULL 처리하기 (0) | 2021.10.20 |
[프로그래머스] IS NULL 〉Lv1. 이름이 있는 동물의 아이디 (0) | 2021.10.19 |
댓글