부제:
오랜 기간 보호한 동물(1), 레벨 3
1. 문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/59044
2. 정답 코드:
SELECT
ai.name,
ai.datetime
from animal_ins as ai
left join animal_outs as ao
on ai.animal_id = ao.animal_id
where ao.animal_id is null
order by datetime
limit 3
3. 오류 상황:
SELECT
ao.name,
ao.datetime
from animal_ins as ai
join animal_outs as ao
on ai.name = ao.name
where ai.name not in ao.name
order by datetime
=> 출력 불가
4. 시도 방법:
=> 입양 안된 동물만 출력하기 위해 left join 사용
=> where문 수정
=> limit 사용해서 출력 갯수 제한
5. 최종 문제 해결 방법:
=> ao는 입양간 동물의 테이블이기 때문에 ai테이블의 컬럼들을 불러와야한다.
=> 입양안된 동물만 출력하기 위해 left join 사용
=> left join을 했기 때문에 입양간 동물의 아이디의 값은 비어있기 때문에 NULL 처리
=> 보호한지 제일 오래된 동물 3마리만 출력하고 싶기 때문에 limit 사용
'SQL 알고리즘 코드카타' 카테고리의 다른 글
| SQL 알고리즘 코드카타 12일차(4) 26.01.10(토) (0) | 2026.01.10 |
|---|---|
| SQL 알고리즘 코드카타 12일차(3) 26.01.10(토) (0) | 2026.01.10 |
| SQL 알고리즘 코드카타 12일차(1) 26.01.10(토) (0) | 2026.01.10 |
| SQL 알고리즘 코드카타 11일차(3) 26.01.09(금) (0) | 2026.01.09 |
| SQL 알고리즘 코드카타 11일차(1) 26.01.09(금) (0) | 2026.01.09 |