없어진 기록 찾기

는는·2023년 2월 6일
0

SQL - 문제 풀이

목록 보기
24/77

없어진 기록 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/59042

ANIMAL_INS 는 보호 시작일 데이터가 있는 테이블이고,
ANIMAL_OUTS는 입양일 데이터가 있는 테이블입니다.

두 테이블을 합쳐줘야하는데요.

입양간 기록은 있는데 , 보호소에 들어온 기록이 없는 동물을 불러와야하니까.
입양 데이터가 있는 테이블 기준으로 outer join을 해줍니다.

ANIMAL_OUTS 테이블을 왼쪽으로 두고, animal_id 기준으로 LEFT join을 해줍니다.

SELECT *
FROM animal_outs a left JOIN animal_ins b USING (animal_id)

이제 보호소에 들어온 기록이 없는 동물을 WHERE절에서 null를 이용해서 불러옵니다.

WHERE b.datetime is null

이제 정렬 해주고 지정된 컬럼을 불러오면 정답입니다.

동물 아이디 기준으로 오름차순 정렬해줍니다.

ORDER BY animal_id

이제 지정된 컬럼을 불러와야하는데요. 중요한 것은 어느 칼럼의 이름을 불러올건지 지정해주면 정답입니다.

SELECT animal_id , a.name

정답

SELECT animal_id , a.name
FROM animal_outs a left JOIN animal_ins b USING (animal_id)
WHERE b.datetime is null
ORDER BY animal_id

0개의 댓글