반응형
풀이 (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
반응형
'SQL 쿼리 연습 > JOIN' 카테고리의 다른 글
[Lv.4 / 프로그래머스 / SQL] FrontEnd 개발자 찾기 (0) | 2024.03.15 |
---|---|
[Lv.3 / 프로그래머스 / SQL] 조건에 맞는 사용자 정보 조회하기 (0) | 2023.04.05 |
[Lv.3 / 프로그래머스 / SQL] 헤비 유저가 소유한 장소 (0) | 2023.03.28 |
[Lv.3 / 프로그래머스 / SQL] 있었는데요 없었습니다 (0) | 2023.03.13 |
[Lv.3 / 프로그래머스 / SQL] 없어진 기록 찾기 (0) | 2023.03.12 |