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
left join 과 join 차이
결론적으로, 연결한 두 테이블에 같은 데이터가 있는 것만 출력하고 싶다면 INNER JOIN(INNER는 생략 가능)을 사용
없는 것도 출력하고 싶다면 LEFT (OUTER) JOIN을 사용한다는 것이죠.
풀이
1. 기본 outter join id로 매칭
2. 아직 입양 못간 동물들 중 이니까
-> where b.ANIMAL_ID is null 추가
3. 가장 오래 보호소에 있던 동물들이니까 오름차순으로 정렬
-> 빨리들어온 놈이 오래 있던거니까
4. 3마리만 뽑아야되니 limit 3
SELECT a.NAME, a.DATETIME
from ANIMAL_INS a left join ANIMAL_OUTS b
on a.ANIMAL_ID = b.ANIMAL_ID
where b.ANIMAL_ID is null
order by a.DATETIME
limit 3
'SQL' 카테고리의 다른 글
프로그래머스 : 우유와 요거트가 담긴 장바구니 (0) | 2020.12.01 |
---|---|
프로그래머스 : 있었는데요 없었습니다 (0) | 2020.11.30 |
프로그래머스 : 없어진 기록 찾기 (0) | 2020.11.30 |
프로그래머스 : NULL 처리하기 (0) | 2020.11.30 |
프로그래머스 : 이름이 없는 동물의 아이디 (0) | 2020.11.30 |