SQL 쿼리 연습/JOIN
[Lv.3 / 프로그래머스 / SQL] 오랜 기간 보호한 동물(1)
김세진
2023. 3. 19. 17:06
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 (MySQL)
ANIMAL_INS에는 존재하지만 ANIMAL_OUTS에는 존재하지 않는 데이터를 찾아, DATETIME이 가장 낮은 3개의 데이터를 조회해야 한다.
LEFT OUTER JOIN을 할 경우 위의 그림과 같이 JOIN하는 테이블에 없는 데이터도 함께 조회가 된다. 이후, WHERE절을 이용해 JOIN하는 테이블의 외래키 값이 없는 경우만 조회하도록 하자.
SELECT
INS.NAME
, INS.DATETIME
FROM
ANIMAL_INS AS INS
LEFT OUTER JOIN
ANIMAL_OUTS AS OUTS
ON
INS.ANIMAL_ID = OUTS.ANIMAL_ID
WHERE
OUTS.ANIMAL_ID IS NULL
ORDER BY
DATETIME
LIMIT 3
반응형