본문 바로가기
데이터 분석/SQL 연습문제

코테 연습 21일차 (프로그래머스 SQL 고득점 Kit)

2022. 2. 27.

My SQL / sublime

 

코딩테스트 연습 - 오랜 기간 보호한 동물(1)

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.

예시

SQL문을 실행하면 다음과 같이 나와야 합니다.

NAME DATETIME
Shelly 2015-01-29 15:01:00
Jackie 2016-01-03 16:25:00
Benji 2016-04-19 13:28:00

※ 입양을 가지 못한 동물이 3마리 이상인 경우만 입력으로 주어집니다.

본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.


풀이

제출한 오답

-- 코드를 입력하세요
SELECT a.NAME, a.DATETIME
FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE b.DATETIME
ORDER BY a.DATETIME

-> WHERE 조건을 완성하지 않았고 동물 3마리만 조회하는 것을 빼먹었다.

다시 제출한 답

-- 코드를 입력하세요
SELECT a.NAME, a.DATETIME
FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE b.DATETIME IS NULL
ORDER BY a.DATETIME
LIMIT 3

-> 실무에서도 최신 NN개 등으로 정책을 많이 부여하는데 이럴 때 LIMIT가 여러모로 유용하게 쓰일 것 같다. 좋은 습관인지는 잘 모르겠지만..

2022.02.27

댓글