[프로그래머스 SQL] 없어진 기록 찾기

.·2021년 8월 14일
0

SQL 고득점 Kit - 없어진 기록 찾기

  • 첫 번째 풀이
    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에서 두 테이블의 같은 필드를 사용할 때

0개의 댓글