그 땐 Algorithm했지/그 땐 Programmers했지
[self-study/level 3] SQL | 없어진 기록 찾기 | JOIN
루이란
2022. 4. 3. 20:49
728x90
문제
내 풀이
SELECT OUTS.ANIMAL_ID, OUTS.NAME
FROM ANIMAL_OUTS AS OUTS
LEFT JOIN ANIMAL_INS AS INS
ON OUTS.ANIMAL_ID = INS.ANIMAL_ID
WHERE INS.ANIMAL_ID IS NULL;
👉🏻JOIN: 두 테이블을 공유하고 있는 컬럼(PK or FK)으로 연결하여 하나의 테이블처럼 만든다. 이 문제에서 조건은 ANIMAL_ID이다.
👉🏻LEFT JOIN: JOIN을 기준으로 왼쪽 테이블을 모두 선택한다. (공통적인 부분 + 왼쪽 테이블에만 존재하는 부분)
👉🏻ON: 두 테이블간의 공유하고 있는 컬럼을 명시한다.
✍🏻ANIMAL_OUTS(왼쪽 테이블)를 두고 LEFT JOIN을 사용한 다음 ANIMAL_INS(오른쪽 테이블)의 키가 NULL인 데이터를 찾으면, ANIMAL_OUTS에만 존재하는 데이터를 찾을 수 있다.
728x90