๐ข ๋ณธ ํฌ์คํ ์ Growth/Practice ๊ฒ์๊ธ (https://sy038680.tistory.com/132) ๋ฌธ์ ์ ๋ํ 2์ฐจ ํ์ด์ ๋๋ค.
๊ธฐ์กด ํ์ด์์๋ JOIN์ ์ฌ์ฉํด์ ANIMAL_INS ํ ์ด๋ธ์ INTAKE_CONDITION์ด NULL๊ฐ์ธ ๊ฒ์ ์ถ์ถํ๋๋ฐ
2์ฐจ ํ์ด์์๋ JOIN์ ์ฌ์ฉํ์ง ์๊ณ WHERE์ ์ NOT IN์ ์ฌ์ฉํด์
INSํ ์ด๋ธ์ ์๋ ๋๋ฌผ๋ค ๋ฐ์ดํฐ๋ง OUTS ํ ์ด๋ธ์์ ์ถ๋ ฅํด๋ณด์๋ค.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_OUTS
WHERE (ANIMAL_ID, NAME) NOT IN (SELECT ANIMAL_ID, NAME FROM ANIMAL_INS)
ORDER BY 1
์ ๋ต ์ธ์ ์ ๋์๋๋ฐ... ๊ธฐ์กด์ ํ์๋ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ์๊ฐ ๋ค๋ฅด๋ค ๐ค?
2์ฐจ ํ์ด ๊ฒฐ๊ณผ๋ 5๊ฐ
๊ธฐ์กด ํ์ด ๊ฒฐ๊ณผ ๋ฐ์ดํฐํ์ 4๊ฐ์๋ค.
-- ๊ธฐ์กด ํ์ด
SELECT AO.ANIMAL_ID, AO.NAME
FROM ANIMAL_OUTS AO
LEFT JOIN ANIMAL_INS AI
ON AO.ANIMAL_ID = AI.ANIMAL_ID
WHERE AI.INTAKE_CONDITION IS NULL
๋ฌธ์ ์์ธ >
ํ์ธํด๋ณด๋ ๋ณดํธ์ ๋ค์ด์ฌ ๋์ ๋๊ฐ ๋ ์ด๋ฆ์ด ๋ค๋ฅธ ๋๋ฌผ์ด 1๋ง๋ฆฌ ์์๋ค.
(ANIMAL_ID๋ ๊ธฐ๋ณธํค-์ธ๋ํค ๊ด๊ณ๋ก ๋์ผ)
SELECT AO.ANIMAL_ID, AO.NAME, AI.ANIMAL_ID, AI.NAME
FROM ANIMAL_OUTS AO
LEFT JOIN ANIMAL_INS AI
ON AO.ANIMAL_ID = AI.ANIMAL_ID
WHERE AI.NAME != AO.NAME
JOIN์ ํ์ฉํด์ ์ ํํ๊ฒ ํ๋ ค๋ฉด ๊ธฐ์กด 1์ฐจ ํ์ด๋ก ํ์ด์ผ ํ ๊ฒ ๊ฐ๋ค.