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

이 문제는

입양을 간 기록은 있는데 보호소에 들어온 기록이 없는 동물의 ID 와 이름을 ID순으로 조회하는 SQL문을 작성하는것입니다.

어떻게 풀어야 할까...!

우선 테이블을 보면 ANIMAL_INS의 역할은 동물 보호소에 들어온 동물의 정보를 담는다. 반면에 ANIMAL_OUTS는 동물 보호소에 입양 보낸 동물의 정보를 담습니다.

right join 즉, 오른쪽 테이블(ANIMAL_OUTS) 를 기준으로해서 무조건 ANIMAL_OUTS는 모두 보이는 형태가 됩니다. 그리고 ANIMAL_ID 값이 서로 같은 것을 기준으로 왼쪽 테이블(ANIMAL_INS)의 값을 불러오는데 '보호소에 들어온 기록이 없다' 라고 했으므로 ANIMAL_INS의 ID가 null인 경우가 이에 해당됩니다. 

select o.ANIMAL_ID, o.NAME from ANIMAL_INS i right join ANIMAL_OUTS o on i.ANIMAL_ID = o.ANIMAL_ID where i.ANIMAL_ID is null;

'IT' 카테고리의 다른 글

[네트워크] gRPC  (0) 2021.08.06
코드 리뷰 하기  (0) 2021.06.01
IT10 :: 프로젝트 유지보수  (0) 2020.10.02
IT09 :: 2020 : 정보처리기사 2회 후기  (0) 2020.08.28
IT08 :: 프로젝트 마감  (0) 2020.08.26