동물 보호소에 들어온 정보가 담긴 animal_ins 테이블과 동물 보호소에서 입양 보낸 동물의 정보가 담긴 animal_outs 테이블이 있습니다.
각 테이블을 사용하여
아직 입양을 못 간 동물 중,
보호소에 가장 오래 있었던
동물 3마리의
이름과 보호 시작일을 조회하는 문제입니다.
이때 결과는 보호 시작일 순으로 조회해야 합니다.
프로그래머스 코드
먼저 이름과 보호소에 들어온 날짜를 조회해야 하기 때문에
SELECT문에 이름과, 들어온 날짜 컬럼명을 작성합니다.
FROM절에는 이 컬럼을 조회할 때 조건에 맞게 조회해야 하기 때문에 출력해야 하는 컬럼이 담긴 테이블명을 먼저 작성하고
JOIN을 이용하여 다른 테이블명도 작성합니다.
ON을 사용하여 연결시킬 수 있는 외래키 컬럼명을 작성하고 각 테이블의 외래키가 일치하는지 작성합니다.
WHERE절을 사용하여 animal_id의 컬럼값이 A에는 있지만 B에는 없는 값을 뽑아내기 위해 IS NULL을 사용하였습니다.
ORDER BY를 이용하여 조회될 테이블의 날짜를 기준으로 정렬하고
가장 오래된 동물 3마리를 조회해야 하기 때문에 LIMIT를 3을 줬습니다.
-- 코드를 입력하세요
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A LEFT JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3