๐ [SQL] Clean Code
1. [SQL] ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ
ํ๋ก๊ทธ๋๋จธ์ค [SQL] ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ
โ ์ค๋ต์ ๋ฆฌ
SELECT o.animal_id, o.name
FROM animal_ins i RIGHT OUTER JOIN animal_outs o ON i.animal_id = o.animal_id
WHERE o.animal_id is not null AND i.animal_id is null;
ORDER BY o.animal_id;
โ o.animal_id IS NOT NULL โ ๋ถํ์ํ ์กฐ๊ฑด
- animal_outs o๋ RIGHT OUTER JOIN์์ ๊ธฐ์ค ํ ์ด๋ธ์ด๋ฏ๋ก ์ ๋ NULL์ด ๋ ์ ์๋ค.
- ๋ฐ๋ผ์ ์ด ์กฐ๊ฑด์ ์ธ ํ์๊ฐ ์๋ค.
โ RIGHT OUTER JOIN ์ฌ์ฉ โ ๋์ผ ๊ฒฐ๊ณผ์ง๋ง ๋ ์ง๊ด์
- ์ผ๋ฐ์ ์ผ๋ก OUTER JOIN ํ ๋๋ ๊ธฐ์ค ํ ์ด๋ธ์ ์ผ์ชฝ์ ๋๋๋ค.
- LEFT OUTER JOIN์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋๊ธฐ ๋๋ฌธ์ด๋ค.
- RIGHT OUTER JOIN์ ํด์์ด ์ด๋ ต๊ณ ๋น์ถ์ฒ๋๋ ๋ฐฉ์์ด๋ผ๊ณ ํ๋ค.
์ ๋ต ์ฝ๋
SELECT o.animal_id, o.name
FROM animal_outs o LEFT OUTER JOIN animal_ins i ON o.animal_id = i.animal_id
WHERE i.animal_id is null
ORDER BY o.animal_id;