programming question/SQL
프로그래머스 - 오랜 기간 보호한 동물 (1)
긍정씨
2021. 11. 1. 19:11
https://programmers.co.kr/learn/courses/30/lessons/59044
코딩테스트 연습 - 오랜 기간 보호한 동물(1)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
문제는 요겁니다요,,
1. '아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물' 이라고 했으니
접근하기로는 입양 간 테이블인 OUTS 테이블에는 없는 애들을 찾아줘야겠습니다.
2. 그러면 INS 테이블을 잡고 찾아야할테니 LEFT JOIN 을 써서 OUTS 테이블에 필요 없는 정보는 없애고 조인해주기로 합시다.
3. ON 뒤에는 조건이 옵니다. ON A.ANIMAL_ID = B.ANIMAL_ID 로 정해주겠습니다.
4. WHERE절에는 1에서 말한 것 처럼 OUT 테이블에 없는 정보를 찾아줘야 하니까 B.ANIMAL_ID IS NULL 로 쓰겠습니다.
5. 오래있던 순대로 검색하라했으니 ORDER BY A.DATETIME ASC. (ASC 는 오름차순이니 안써도 됩니다요)
6. 3개만 검색이니까 LIMIT 써서 LIMIT 3
그러면 이러쿵 저러쿵 해서
SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS A LEFT OUTER JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME ASC
LIMIT 3
요로코롬 되네요