1. 문제 풀이 아이디어
JOIN절을 사용하여 테이블을 결합해 문제를 해결한다.
2. 나의 정답 코드
SELECT i.animal_id, i.name
FROM animal_ins i
JOIN animal_outs o
ON i.animal_id = o.animal_id
WHERE i.datetime > o.datetime
ORDER BY i.datetime;3. 정리
JOIN절을 사용하여animal_outs테이블과 결합하며, 동일한 컬럼 이름이 있으므로 별칭을 지정한다.
ON절에서 조인 조건으로 사용할animal_id를 설정한다.
WHERE절에서i.datetime과o.datetime을 비교해 조건에 맞는 데이터만 필터링한다.
ORDER BY절에서i.datetime을 기준으로 오름차순 정렬한다.
4. NATURAL JOIN 사용 실패 이유
NATURAL JOIN을 사용하여 문제를 해결하려 했으나 실패했다.
NATURAL JOIN은 동일한 컬럼명을 모두 기준으로 결합하므로,WHERE절의datetime비교에서 모순이 발생해 사용할 수 없었다.
Share article