
SQL 공부중 입니다. ✍✍✍
문제
https://school.programmers.co.kr/learn/courses/30/lessons/59411
풀이
SELECT AO.ANIMAL_ID, AO.NAME
FROM ANIMAL_INS AI
INNER JOIN ANIMAL_OUTS AO
ON AI.ANIMAL_ID = AO.ANIMAL_ID
ORDER BY TIMESTAMPDIFF(SECOND,AI.DATETIME,AO.DATETIME) DESC
LIMIT 2;
문제에서 보호 후 입양간 동물이라고 했기 때문에 두 테이블 모두에 속한 외래 키(ANIMAL_ID) 기준으로 JOIN 한 뒤 풀 수 있었습니다.🐇🐇🐇
다른 풀이로는
SELECT
AI.animal_id, AI.name
From ANIMAL_INS as AI,
ANIMAL_OUTS as AO
where
AI.animal_id = AO.animal_id
order by ABS(DATEDIFF(AI.datetime, AO.datetime)) desc
limit 2;
JOIN 하지 않고 FROM 절 뒤에 ANIMAL_INS as AI,ANIMAL_OUTS as AO 두 테이블을 참조하여 WHERE 구문으로 동일한 ANIMAL_ID를 갖는 값으로 조회한 풀이를 볼 수 있었습니다.🐣🐣🐣
감사합니다.