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이라면 출력한다.
참고문헌
-- 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;
내 풀이
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)
Ghost