JOIN - 없어진 기록 찾기

1. 없어진 기록 찾기

A. 문제

위 프로그래머스 사이트에 접속하여 문제를 확인해주세요.

B. 내 답안


-- Oracle
  
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_INS INS RIGHT OUTER JOIN ANIMAL_OUTS OUTS ON (INS.ANIMAL_ID = OUTS.ANIMAL_ID)
WHERE INS.DATETIME IS NULL
ORDER BY ANIMAL_ID;

a. 회고

내 풀이

  • JOIN문제이다.
  • ANIMAL_ID를 기준으로 OUTER JOIN을 시도한다.
    • RIGHT OUTER JOIN인 이유는 ANIMAL_OUTS에 존재하는 데이터는 전부 살려서 어떤 행이 ANIMAL_INS에 없는지 확인해야 하기 때문이다.
  • RIGHT OUTER JOIN을 하고 ANIMAL_INS 컬럼 부분이 NULL이라면 출력한다.

참고문헌

JOIN. 코딩테스트 연습 - 없어진 기록 찾기 | 프로그래머스 (programmers.co.kr). Programmers. (accessed Oct 15, 2021)

이 글이 도움이 되었나요?

신고하기
0분 전
작성된 댓글이 없습니다. 첫 댓글을 달아보세요!
    댓글을 작성하려면 로그인이 필요합니다.