반응형
programmers.co.kr/learn/courses/30/lessons/59044
코딩테스트 연습 - 오랜 기간 보호한 동물(1)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
LEFT OUTER JOIN을 이용해 푼 문제였습니다.
풀이방법
1. 테이블 정의 : ANIMAL_INS를 A, ANIMAL_OUTS를 B로 정의합니다.
2. JOIN 연산 : A를 왼쪽, B를 우측으로하여 ANIMAL_ID가 같은 행을 매칭해 LEFT OUTER JOIN을 합니다. 이 때 B테이블의 ANIMAL_ID가 NULL이라면 입양을 아직 안간 동물입니다.
3. 정렬 : 보호 기간이 오래된 동물을 뽑기 위해 DATETIME에 대해 오른차순 정렬해줍니다.
4. 3개 행 선택 : LIMIT을 이용해 3개의 행을 뽑습니다.
Code
SELECT A.NAME, A.DATETIME FROM ANIMAL_INS A
LEFT OUTER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3
'Algorithm > SQL' 카테고리의 다른 글
(MYSQL) - 프로그래머스(2021 Dev-Matching: 웹 백엔드 개발자) : 헤비 유저가 소유한 장소 (0) | 2021.05.12 |
---|---|
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 보호소에서 중성화한 동물 (0) | 2021.03.12 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 있었는데요 없었습니다 (0) | 2021.03.12 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 없어진 기록 찾기 (2) | 2021.03.08 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - GROUP BY) : 오랜 기간 보호한 동물(2) (0) | 2021.03.08 |