SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS O
WHERE ANIMAL_ID NOT IN (SELECT ANIMAL_ID
FROM ANIMAL_INS)
ORDER BY 1;
Join 문제지만 조인을 쓰지 않고 풀었다.두번째 풀이
SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS O
LEFT JOIN ANIMAL_INS I
USING(ANIMAL_ID) -- ON O.ANIMAL_ID = I.ANIMAL_ID
WHERE I.ANIMAL_ID IS NULL
ORDER BY 1;
검색 결과 Left Join을 사용하면 됐다.
ANIMAL_INS.ANIMAL_ID
가 NULL이라서 ANIMAL_ID
필드를 사용해서 조인을 할 수 없을거라고 생각했는데 천만의 말씀 만만의 콩떡! 프로그래밍 언어는 참 신기할 때가 있다.
간단한 실습으로 할 때는 다 이해가 됐었는데 막상 문제로 푸려니까 적용하기 쉽지 않았다.
USING
: JOIN에서 두 테이블의 같은 필드를 사용할 때