프로그래머스 >> JOIN >> 없어진 기록 찾기
프로그래머스 » JOIN » 없어진 기록 찾기(MySQL)
문제
예시
코드
-- 없어진 기록 찾기 out에는 있는데 in에 없는거
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
EXCEPT
SELECT a.ANIMAL_ID, a.NAME FROM ANIMAL_INS as a JOIN ANIMAL_OUTS as b WHERE a.ANIMAL_ID = b.ANIMAL_ID
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS OUTS
LEFT OUTER JOIN ANIMAL_INS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID is NULL
ORDER BY OUTS.ANIMAL_ID
학습
내부 조인(natural join) : 겹치는거
아우터 조인 : 조인 후 없는 행 null 처리(left outer, right outer, full outer)
크로스 조인 : 두 테이블 모든 행 곱하기
EXCEPT(차집합)