1. ๋ฌธ์ ์ ๊ฐ์
์ค๋ณต๋ ๊ฐ ์ฒ๋ฆฌ ๋ฌธ์
SELECT๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋, ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋ฌํ ์ค๋ณต๋ ๊ฐ์ ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ๋ถ์ํ๊ฑฐ๋ ์ฒ๋ฆฌํ ๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๋ค. ์ค๋ณต๋ ๊ฐ์ ์ํ์ง ์์ ๋ฐ์ดํฐ ์ค๋ณต์ ์ผ๊ธฐํ ๋ฟ ์๋๋ผ, ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ๋นํจ์จ์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ฉฐ ์ฒ๋ฆฌ ์๋๋ ์ ํ์ํฌ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ ํ์์ฑ
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ค๋ฉด ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ๋ง ์ ์งํ๊ณ ๋๋จธ์ง๋ ์ ๊ฑฐํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ์์ ์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋ค. ์ค๋ณต๋ ๊ฐ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ฃผ๋ก ๋ฐ์ํ๋ฉฐ, SELECT๋ฌธ์ ๊ฒฐ๊ณผ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
MINUS ์ฐ์ฐ์์ ํ์ฉ
MINUS ์ฐ์ฐ์๋ SELECT๋ฌธ์์ ์ฐจ์งํฉ(ํ์ ์ฐจ์ด)์ ๊ตฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด๋ฅผ ํตํด ํ SELECT๋ฌธ์ ๊ฒฐ๊ณผ์์ ๋ค๋ฅธ SELECT๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ํ๋ค์ ์ถ์ถํ ์ ์๋ค. ์ฃผ๋ก ๋ ๊ฐ์ SELECT๋ฌธ์ ๋น๊ตํ์ฌ ์ฐจ์ด์ ์ ๋ถ์ํ๊ณ , ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
์ค๋ณต ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์์ ๊ฒฐํฉ
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์๋ฅผ ํจ๊ป ํ์ฉํ๋ฉด ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋๋ฐ ์ ์ฉํ๋ค. ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค. ์ด๋ฅผ ํตํด ์ธ๋ฐํ ๋ฐ์ดํฐ ๋ถ์๊ณผ ์ฒ๋ฆฌ ์์ ์ ์ํํ ์ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ์์ ์ค์ํ ํจํด๊ณผ ํธ๋ ๋ ๋ฑ์ ์๋ณํ ์ ์๋ค.
์ฃผ์์ฌํญ๊ณผ ์ต์ ํ
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์ ์ฌ์ฉ ์ ์ฃผ์ํด์ผ ํ ์ฌํญ์ด ์๋ค. ์ฌ์ฉ์๋ ์ ๊ฑฐ๋ ์ค๋ณต๋ ๊ฐ์ ์์๋ ๊ตฌ์กฐ์ ์ฃผ์ํ๊ณ , MINUS ์ฐ์ฐ์์ ์กฐ๊ฑด์ ๋ช ํํ๊ฒ ์ค์ ํด์ผ ํ๋ค. ๋ํ, ์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๊ณผ์ ์ฐจ์ด์ ์ ๊ณ ๋ คํ์ฌ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ํ๊ตฌํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋์ ํจ์จ์ฑ์ ๊ทน๋ํํ ์ ์๋ค.
1. ๋ฌธ์ ์ ๊ฐ์
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด ์ค๋ช ํ๋ค.
SELECT๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋, ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ ๊ฒฐ๊ณผ ์งํฉ์ ์ป๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด๋ฌํ ์ค๋ณต๋ ๊ฐ์ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ์์ ์ ์์ด์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์๋ค. ์ค๋ณต๋ ๊ฐ์ ๋ฐ์ดํฐ์ ๋ถ์ผ์น๋ฅผ ์ผ์ผํฌ ๋ฟ ์๋๋ผ, ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ๋นํจ์จ์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ฉฐ, ์ฒ๋ฆฌ ์๋๋ ์ ํ์ํฌ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ํ ํ์ฌ์ ์ง์ ๋ช ๋จ์ ์กฐํํ๋ SELECT๋ฌธ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ๊ทธ๋ฐ๋ฐ ์ด ์ง์ ๋ช ๋จ์ ๋ถ์๋ณ๋ก ์ค๋ณต๋๋ ์ง์์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๋ค๋ฉด, ์ค๋ณต๋ ์ง์ ์ ๋ณด๋ฅผ ์ ์ธํ๊ณ ์ค์ ๋ก ์ ์ผํ ์ง์ ์ ๋ณด๋ง ํ์๋ก ํ ๊ฒ์ด๋ค. ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋, ์ด๋ ๊ฒ ์ ์ผํ ๊ฐ๋ง์ ์ถ์ถํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์๋ค.
๋ฐ๋ผ์ ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ํ ๋๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ฉด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ์์ ์ ๋์ฑ ํจ์จ์ ์ผ๋ก ์ํํ ์ ์๋ค. ์ด๋ฅผ ์ํด SELECT๋ฌธ์์ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ํ์ฉํ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด ์ค๋ช ํ๋ค.
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋, ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
1. ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์
SELECT๋ฌธ์ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ๋ฉด์ ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋๋ฉด, ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ๋ถ์ผ์นํ ์ ์๋ค. ์ค๋ณต๋ ๊ฐ์ ์ค์ ๋ฐ์ดํฐ์์๋ ํ ๋ฒ๋ง ์กด์ฌํด์ผ ํ ๊ฒ๋ค์ ์ค๋ณตํด์ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ก ์ธํด ๋ฐ์ดํฐ ๋ถ์์ด๋ ์ฒ๋ฆฌ ์์ ์ ์ ํํ๊ฒ ์ํํ๊ธฐ ์ด๋ ค์์ง ์ ์๋ค.
2. ๊ฒฐ๊ณผ ์งํฉ ํฌ๊ธฐ ์ฆ๊ฐ ๋ฌธ์
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ ์ค๋ณต๋ ๊ฐ๋ค์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๋ค. ์ค๋ณต๋ ๊ฐ์ด ๋ง์ ๊ฒฝ์ฐ, ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๊ฐ ๋นํจ์จ์ ์ผ๋ก ์ฆ๊ฐํ๋ฉด์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋จ์ด์ง ์ ์๋ค.
3. ์ค๋ณต๋ ๊ฐ์ ๋ํ ์ฒ๋ฆฌ ๋ฌธ์
๊ฒฐ๊ณผ ์งํฉ์ ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋์ด ์์ผ๋ฉด ํด๋น ๊ฐ์ ๋ํ ์ฒ๋ฆฌ๊ฐ ์ค๋ณต๋ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง๊ณ ํน์ ์ฐ์ฐ์ ์ํํ๊ฑฐ๋ ์กฐ๊ฑด์ ๊ฒ์ฌํ๋ ๊ฒฝ์ฐ, ์ค๋ณต๋ ๊ฐ์ ๋ค๋ฃจ๋ ๋ก์ง์ ์ถ๊ฐ๋ก ๊ตฌํํด์ผ ํ ์ ์๋ค. ์ด๋ ์ฝ๋์ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํฌ ์ ์๋ค.
๋ฐ๋ผ์ ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋์๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ฉด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ํ ์ ์๋ค. ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ SELECT๋ฌธ์ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ๋ฅ์ ์ ์ฉํ ์ ์๋ค.
2. ์ค๋ณต๋ ๊ฐ ์ ๊ฑฐํ๊ธฐ
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํด์ผ ํ๋ค. ์ด๋ฅผ ์ํด SELECT๋ฌธ์๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ค. DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด SELECT๋ฌธ์ ๊ฒฐ๊ณผ์์ ์ค๋ณต๋ ๊ฐ๋ค์ด ์ ๊ฑฐ๋๊ณ , ์ ์ผํ ๊ฐ๋ค๋ง ์ ์ง๋๋ค.
์๋ฅผ ๋ค์ด, ์๋์ SELECT๋ฌธ์ ์คํํ์ฌ ์ง์ ํ ์ด๋ธ์์ ๋ถ์๋ณ๋ก ์ค๋ณต๋ ์ง์ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ผํ ์ง์ ๋ชฉ๋ก์ ์กฐํํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์.
SELECT DISTINCT department, employee_name
FROM employees;
์์ SELECT๋ฌธ์์ DISTINCT ํค์๋๋ department์ employee_name ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ค. ๊ฒฐ๊ณผ๋ก์ ์ ์ผํ ๋ถ์๋ณ ์ง์ ์ ๋ณด๋ง ํฌํจ๋ ๊ฒฐ๊ณผ ์งํฉ์ด ๋ฐํ๋๋ค.
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ๋ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ์์ ์์ ์ ์ฉํ ๊ธฐ๋ฅ์ผ๋ก ํ์ฉ๋๋ค. ์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ ์ ์ผํ ๊ฐ๋ง์ผ๋ก ์์ ์ ์งํํ ์ ์๋ค. ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ ์๋๋ ํฅ์๋ ์ ์๋ค. ๋ํ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ๋ก์ง์ ๊ฐ๋จํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ด ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํฌ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋์๋ DISTINCT ํค์๋๋ฅผ ์ ์ ํ ํ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ์ต์ํํ๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ํ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ธ SELECT DISTINCT๋ฌธ์ ๋ํด ์๊ฐํ๋ค.
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ SELECT DISTINCT๋ฌธ์ด๋ค. SELECT DISTINCT๋ฌธ์ SELECT๋ฌธ์ DISTINCT ํค์๋๋ฅผ ์ถ๊ฐํ์ฌ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ์ญํ ์ ํ๋ค.
SELECT DISTINCT๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ๋ง์ ์ ํํ๋ค. ์ด๋ฅผ ์ํด SELECT๋ฌธ์ ์นผ๋ผ ๋ชฉ๋ก์ DISTINCT ํค์๋๋ฅผ ํฌํจ์ํจ๋ค. DISTINCT ํค์๋๊ฐ ์ ์ฉ๋๋ ์นผ๋ผ๋ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ์ ๊ฒฐ๊ณผ ์งํฉ์ ํฌํจ๋๋ค.
์๋ฅผ ๋ค์ด, ์๋์ SELECT๋ฌธ์ ์คํํ์ฌ ์ฃผ๋ฌธ ํ ์ด๋ธ์์ ๊ณ ๊ฐ๋ณ๋ก ์ค๋ณต๋ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ผํ ์ฃผ๋ฌธ ๋ชฉ๋ก์ ์กฐํํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์.
SELECT DISTINCT customer_id, order_date
FROM orders;
์์ SELECT๋ฌธ์์๋ customer_id์ order_date ์นผ๋ผ์ SELECT๋ฌธ์ ์นผ๋ผ ๋ชฉ๋ก์ ํฌํจ์์ผ DISTINCT ํค์๋๊ฐ ์ ์ฉ๋๋๋ก ํ๋ค. ์ด๋ ๊ฒ ํจ์ผ๋ก์จ ์ค๋ณต๋ ์ฃผ๋ฌธ ์ ๋ณด๊ฐ ์ ๊ฑฐ๋๊ณ , ๊ณ ์ ํ ๊ณ ๊ฐ๋ณ ์ฃผ๋ฌธ ์ ๋ณด๋ง์ ํฌํจํ๋ ๊ฒฐ๊ณผ ์งํฉ์ด ๋ฐํ๋๋ค.
SELECT DISTINCT๋ฌธ์ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ ์์ ์ ์ ์ฉํ ๊ธฐ๋ฅ์ผ๋ก ํ์ฉ๋๋ค. ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ๊ฒฐ๊ณผ ์งํฉ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ํ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ์ด ํฌํจ๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋์๋ SELECT DISTINCT๋ฌธ์ ์ ์ ํ ํ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ฐ์ ํ ์ ์๋ค.
DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๋ ๋ฐฉ์์ ์ค๋ช ํ๋ค.
์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์ ์ค ํ๋๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. DISTINCT ํค์๋๋ SELECT๋ฌธ์์ ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ์ ์ ํํ ์ ์๋๋ก ๋์์ค๋ค.
SELECT ๋ฌธ์์ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค:
SELECT DISTINCT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ๋ช
;
์์ SELECT ๋ฌธ์์๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ๋ค๋ง์ ์ ํํ๋ค. SELECT ๋ฌธ์ ์นผ๋ผ ๋ชฉ๋ก์ DISTINCT ํค์๋์ ์ํฅ์ ๋ฐ๋๋ค. ์ฆ, DISTINCT ํค์๋๊ฐ ์ ์ฉ๋ ์นผ๋ผ๋ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ์ ๊ฒฐ๊ณผ ์งํฉ์ ํฌํจ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ๋ฌธ ํ ์ด๋ธ์์ ์ ํ๋ณ๋ก ์ค๋ณต๋ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ผํ ์ฃผ๋ฌธ ๋ชฉ๋ก์ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค:
SELECT DISTINCT ์ ํ๋ช
, ์ฃผ๋ฌธ์ผ์
FROM ์ฃผ๋ฌธํ
์ด๋ธ;
์์ SELECT ๋ฌธ์์๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ช ๊ณผ ์ฃผ๋ฌธ์ผ์ ์นผ๋ผ์ ์ ์ฉํ๋ค. ๋ฐ๋ผ์ ์ค๋ณต๋ ๊ฐ๋ค์ด ์ ๊ฑฐ๋๊ณ , ์ ์ผํ ์ ํ๋ณ ์ฃผ๋ฌธ ์ ๋ณด๋ง์ ํฌํจํ๋ ๊ฒฐ๊ณผ ์งํฉ์ด ๋ฐํ๋๋ค.
DISTINCT ํค์๋๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ์ฒ๋ฆฌ ์์ ์์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์๋ค. ๊ฒฐ๊ณผ ์งํฉ์์ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ์ฒ๋ฆฌ ์๋๋ฅผ ํฅ์์ํค๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ๋ก์ง์ ๋จ์ํ์ํฌ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ๋ค์ ํฌํจํ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋์๋ DISTINCT ํค์๋๋ฅผ ์ ์ ํ ํ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ฐ์ ํ ์ ์๋ค.
DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๋ ๋ฐฉ์์ ์ค๋ช ํ๋ค.
์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋ ๋ฐฉ์ ์ค ํ๋๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. DISTINCT ํค์๋๋ SELECT๋ฌธ์์ ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ์ ์ ํํ ์ ์๋๋ก ๋์์ค๋ค.
SELECT ๋ฌธ์์ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค:
SELECT DISTINCT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ๋ช
;
์์ SELECT ๋ฌธ์์๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ ์งํฉ์์ ์ ์ผํ ๊ฐ๋ค๋ง์ ์ ํํ๋ค. SELECT ๋ฌธ์ ์นผ๋ผ ๋ชฉ๋ก์ DISTINCT ํค์๋์ ์ํฅ์ ๋ฐ๋๋ค. ์ฆ, DISTINCT ํค์๋๊ฐ ์ ์ฉ๋ ์นผ๋ผ๋ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ์ ๊ฒฐ๊ณผ ์งํฉ์ ํฌํจ๋๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ๋ฌธ ํ ์ด๋ธ์์ ์ ํ๋ณ๋ก ์ค๋ณต๋ ์ฃผ๋ฌธ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ผํ ์ฃผ๋ฌธ ๋ชฉ๋ก์ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค:
SELECT DISTINCT ์ ํ๋ช
, ์ฃผ๋ฌธ์ผ์
FROM ์ฃผ๋ฌธํ
์ด๋ธ;
์์ SELECT ๋ฌธ์์๋ DISTINCT ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ช ๊ณผ ์ฃผ๋ฌธ์ผ์ ์นผ๋ผ์ ์ ์ฉํ๋ค. ๋ฐ๋ผ์ ์ค๋ณต๋ ๊ฐ๋ค์ด ์ ๊ฑฐ๋๊ณ , ์ ์ผํ ์ ํ๋ณ ์ฃผ๋ฌธ ์ ๋ณด๋ง์ ํฌํจํ๋ ๊ฒฐ๊ณผ ์งํฉ์ด ๋ฐํ๋๋ค.
DISTINCT ํค์๋๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ์ฒ๋ฆฌ ์์ ์์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์๋ค. ๊ฒฐ๊ณผ ์งํฉ์์ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , ์ฒ๋ฆฌ ์๋๋ฅผ ํฅ์์ํค๋ฉฐ, ์ค๋ณต๋ ๊ฐ์ ๋ํ ๋ก์ง์ ๋จ์ํ์ํฌ ์ ์๋ค.
์ค๋ณต๋ ๊ฐ๋ค์ ํฌํจํ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ ๋์๋ DISTINCT ํค์๋๋ฅผ ์ ์ ํ ํ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ๋ค์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ํ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ฐ์ ํ ์ ์๋ค.
MINUS ์ฐ์ฐ์
MINUS ์ฐ์ฐ์๋ ๋ ๊ฐ์ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ ์ฐ์ฐ์์ด๋ค. ์ฆ, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์๋ ๋ํ๋๋ ๋ ์ฝ๋๋ฅผ ์ ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ํ์์ ์ฌ์ฉํ๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ1
MINUS
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ2;
์์ ์์ ์์๋ ํ ์ด๋ธ1๊ณผ ํ ์ด๋ธ2์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ํ ์ด๋ธ1์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ค.
MINUS ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค:
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ํฌํจ๋์ง ์๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ค.
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ ์งํฉ์ด ๋์ผํ ์นผ๋ผ์ ๊ฐ์ ธ์ผ ํ๋ค.
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์์ ์ฒซ ๋ฒ์งธ ์นผ๋ผ๋ถํฐ ๋น๊ต๋ฅผ ์์ํ๋ฉฐ, ํด๋น ๋ ์ฝ๋๊ฐ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ์กด์ฌํ๋์ง ํ์ธํ๋ค.
- MINUS ์ฐ์ฐ์๋ ๋์ผํ ๋ ์ฝ๋๊ฐ ์ฌ๋ฌ ๋ฒ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ๋ง ๋ฐํํ๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์งํฉ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ํ ์ด๋ธ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ํ์ ์ฐพ๊ฑฐ๋, ๋ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ๋ฐ์ดํฐ ํ์ง ๊ด๋ฆฌ ์์ ์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์๋ค. ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ํ์ธํ๊ฑฐ๋, ์ค๋ฅ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฐจ์ด์ ์ ์ฐพ์ ๋ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ ์ฐ์ฐ์์ด๋ค.
MINUS ์ฐ์ฐ์์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค.
MINUS ์ฐ์ฐ์๋ SQL ์ฟผ๋ฆฌ์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ์ค ํ๋๋ก, ๋ ๊ฐ์ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค. MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์๋ ๋ํ๋๋ ๋ ์ฝ๋๋ฅผ ์ ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ํ์์ ์ฌ์ฉํ๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ1
MINUS
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ2;
์์ ์์ ์์๋ ํ ์ด๋ธ1๊ณผ ํ ์ด๋ธ2์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ํ ์ด๋ธ1์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ค.
MINUS ์ฐ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค:
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ํฌํจ๋์ง ์๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ค.
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ ์งํฉ์ด ๋์ผํ ์นผ๋ผ์ ๊ฐ์ ธ์ผ ํ๋ค.
- MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์์ ์ฒซ ๋ฒ์งธ ์นผ๋ผ๋ถํฐ ๋น๊ต๋ฅผ ์์ํ๋ฉฐ, ํด๋น ๋ ์ฝ๋๊ฐ ๋ ๋ฒ์งธ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ์ ์กด์ฌํ๋์ง ํ์ธํ๋ค.
- MINUS ์ฐ์ฐ์๋ ๋์ผํ ๋ ์ฝ๋๊ฐ ์ฌ๋ฌ ๋ฒ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ๋ง ๋ฐํํ๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์งํฉ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ํ ์ด๋ธ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ํ์ ์ฐพ๊ฑฐ๋, ๋ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ๋ฐ์ดํฐ ํ์ง ๊ด๋ฆฌ ์์ ์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์๋ค. ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ํ์ธํ๊ฑฐ๋, ์ค๋ฅ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฐจ์ด์ ์ ์ฐพ์ ๋ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ ์ฐ์ฐ์์ด๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ์๊ฐํ๋ค.
MINUS ์ฐ์ฐ์๋ SQL ์ฟผ๋ฆฌ์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ์ค ํ๋๋ก, ๋ ๊ฐ์ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ ์งํฉ์ ์ฐจ์งํฉ์ ๊ตฌํ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค:
์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ค. ์ด๋, ํด๋น SELECT ๋ฌธ์์๋ ์ฐจ์งํฉ์ ๊ธฐ์ค์ด ๋๋ ์งํฉ์ ์ ์ํ๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ1์์ ์ฒซ ๋ฒ์งธ ์งํฉ์ ์ป์ ์ ์๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ... FROM ํ ์ด๋ธ1;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ณ์ฐํ๋ค. MINUS ์ฐ์ฐ์ ์์๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์, ๋ค์๋ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํ๋ค. ์ด๋, ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์ฒซ ๋ฒ์งธ ์งํฉ๊ณผ ๋น๊ต๋์ด ์ฐจ์งํฉ์ ๊ตฌํ ๋์์ด ๋๋ ์งํฉ์ ์ ์ํ๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ2๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ์ด๋ธ1๊ณผ์ ์ฐจ์งํฉ์ ๊ณ์ฐํ ์ ์๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ... FROM ํ ์ด๋ธ1 MINUS SELECT ์นผ๋ผ1, ์นผ๋ผ2, ... FROM ํ ์ด๋ธ2;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋ ์ฐจ์งํฉ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ๋ฐ๋๋ค. ์ด๋, ๊ฒฐ๊ณผ์๋ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ค์ด ํฌํจ๋๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์งํฉ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ์ด๋ธ1๊ณผ ํ ์ด๋ธ2์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ํ์ ์ฐพ๊ฑฐ๋, ๋ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ๋ฐ์ดํฐ ํ์ง ๊ด๋ฆฌ ์์ ์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์๋ค. ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ํ์ธํ๊ฑฐ๋, ์ค๋ฅ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฐจ์ด์ ์ ์ฐพ์ ๋ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ ์ฐ์ฐ์์ด๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ์๊ฐํ๋ค.
MINUS ์ฐ์ฐ์๋ SQL ์ฟผ๋ฆฌ์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ์ค ํ๋๋ก, ๋ ๊ฐ์ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ ์งํฉ์ ์ฐจ์งํฉ์ ๊ตฌํ ์ ์์ต๋๋ค.
1. ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ ์์ฑ
์ฒซ ๋ฒ์งธ๋ก, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ ์ฒซ ๋ฒ์งธ ์งํฉ์ ์ ์ํ๋ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ์ด SELECT ๋ฌธ์์๋ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ํ์ํ ์นผ๋ผ๋ค๊ณผ ํํฐ ์กฐ๊ฑด์ ํฌํจ์ํต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ1์์ ์ฒซ ๋ฒ์งธ ์งํฉ์ ์ป์ ์ ์์ต๋๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ1
WHERE ์กฐ๊ฑด;
2. MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ ๊ณ์ฐ
๋ ๋ฒ์งธ๋ก, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ณ์ฐํฉ๋๋ค. ์์ ์์ฑํ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์์ ์ผ์ชฝ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉํ๊ณ , ๋ ๋ฒ์งธ ์งํฉ์ ์ ์ํ๋ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์์ ์ค๋ฅธ์ชฝ ํผ์ฐ์ฐ์๋ก ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ SELECT ๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ2๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ์ด๋ธ1๊ณผ์ ์ฐจ์งํฉ์ ๊ณ์ฐํ ์ ์์ต๋๋ค:
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ1
WHERE ์กฐ๊ฑด
MINUS
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ2
WHERE ์กฐ๊ฑด;
3. ์ฐจ์งํฉ ๊ฒฐ๊ณผ ๋ฐํ
๋ง์ง๋ง์ผ๋ก, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋ ์ฐจ์งํฉ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ๋ฐ์ต๋๋ค. ์ด๋, ๊ฒฐ๊ณผ์๋ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์ํ๋ ๋ ์ฝ๋๋ค์ด ํฌํจ๋ฉ๋๋ค.
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์งํฉ์ ๊ตฌํ๋ ๋ฐฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์งํฉ ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ์ด๋ธ1๊ณผ ํ ์ด๋ธ2์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ํ์ ์ฐพ๊ฑฐ๋, ๋ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ ๋ถ์์ด๋ ๋ฐ์ดํฐ ํ์ง ๊ด๋ฆฌ ์์ ์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ํ์ธํ๊ฑฐ๋, ์ค๋ฅ๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ ๊ฒฐ๊ณผ ์งํฉ์ ๋น๊ตํ์ฌ ์ฐจ์ด์ ์ ์ฐพ์ ๋ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ ์ฐ์ฐ์์ ๋๋ค.
4. ์ค๋ณต ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์์ ํ์ฉ
MINUS ์ฐ์ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ๊ฐ์ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ฒซ ๋ฒ์งธ ์งํฉ์๋ง ์กด์ฌํ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ค๋ณต๋ ๋ฐ์ดํฐ ์ ๊ฑฐ๋ฅผ ์ํ MINUS ์ฐ์ฐ์์ ํ์ฉ ๋ฐฉ๋ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ ์ฝ๋๋ฅผ ์ ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์๋๋ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํ ๋จ๊ณ๋ณ ์ ์ฐจ์ ๋๋ค:
- ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์๋ณธ ๋ฐ์ดํฐ์ ๋ชจ๋ ์ด์ ํฌํจํ๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
;
- ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ ์ํ๋ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ์ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๋ ์ด๋ค ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ณ ์ ํ ์๋ณ์ ์นผ๋ผ์ด๋ ํต์ฌ ์ ๋ณด๋ฅผ ํฌํจํ ์นผ๋ผ์ ์ ํํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์๋ก ๋น๊ตํ์ฌ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ต๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
MINUS
SELECT *
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ์กฐํํ ๋ชจ๋ ๋ฐ์ดํฐ ์ค์์ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ง ๋ฐํ๋ฉ๋๋ค.
์ค๋ณต ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์์ ํ์ฉ ์์
์๋ฅผ ๋ค์ด, "๊ณ ๊ฐ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ๊ณ ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. "๊ณ ๊ฐ" ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ์ด์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ๊ณ ๊ฐID (๊ณ ์ ํ ์๋ณ์)
- ๊ณ ๊ฐ์ด๋ฆ
- ์ ํ๋ฒํธ
์ค๋ณต๋ ๊ณ ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ ๊ณ ๊ฐID๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ์๋๋ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด MINUS ์ฐ์ฐ์๋ฅผ ํ์ฉํ๋ ์์์ ๋๋ค:
SELECT *
FROM ๊ณ ๊ฐ
MINUS
SELECT *
FROM ๊ณ ๊ฐ
GROUP BY ๊ณ ๊ฐID;
์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด, "๊ณ ๊ฐ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ๊ณ ๊ฐ ์ ๋ณด๊ฐ ์ ๊ฑฐ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋๋ฐ MINUS ์ฐ์ฐ์๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ค๋ณต ๋ฐ์ดํฐ๋ ๋ฐ์ดํฐ์ ์ ํ์ฑ์ ์ ํ์ํฌ ์ ์์ผ๋ฏ๋ก, ์ด๋ฅผ ์ ๊ฑฐํ์ฌ ์ ํํ๊ณ ์ผ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์๋ฅผ ํจ๊ป ํ์ฉํ์ฌ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ ๋ฐฉ๋ฒ
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ์๋๋ ์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช ํ ๊ฒ์ ๋๋ค.
ํํฐ๋ง ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํ ์ ์ฐจ
- ํํฐ๋ง ์กฐ๊ฑด์ ํฌํจํ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ์ด๋, ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ํ์ํ ์นผ๋ผ๋ค๊ณผ ํํฐ๋ง ์กฐ๊ฑด์ ํฌํจ์ํต๋๋ค.
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ๋ช
WHERE ํํฐ๋ง ์กฐ๊ฑด;
- ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ํจ๊ป ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ๋ ์ด๋ค ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค.
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
- ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ํํฐ๋ง ์กฐ๊ฑด์ ๋ง์กฑํ์ง๋ง ์ค๋ณต๋์ง ์์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์๋ก ๋น๊ตํฉ๋๋ค.
SELECT ์นผ๋ผ1, ์นผ๋ผ2, ...
FROM ํ
์ด๋ธ๋ช
WHERE ํํฐ๋ง ์กฐ๊ฑด
MINUS
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ํํฐ๋ง ์กฐ๊ฑด์ ๋ง์กฑํ์ง๋ง ์ค๋ณต๋์ง ์์ ๋ฐ์ดํฐ๋ง ๋ฐํ๋ฉ๋๋ค.
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ ํํฐ๋ง ์กฐ๊ฑด์ ํจ๊ป ์ฌ์ฉํ๋ ์์
์๋ฅผ ๋ค์ด, "์ฃผ๋ฌธ" ํ ์ด๋ธ์์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ ์ค์์ ์ต๊ทผ 3๊ฐ์ ๋ด์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ๋ง ํํฐ๋งํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. "์ฃผ๋ฌธ" ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ์ด์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ์ฃผ๋ฌธID
- ๊ณ ๊ฐID
- ์ฃผ๋ฌธ์ผ์
์ฃผ๋ฌธํ ๊ณ ๊ฐ์ค์์ ์ต๊ทผ 3๊ฐ์ ๋ด์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ์ ํํฐ๋งํ๊ธฐ ์ํด์๋ ์ฃผ๋ฌธ์ผ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํํฐ๋ง ์กฐ๊ฑด์ ์ค์ ํ ์ ์์ต๋๋ค. ์๋๋ ์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ ํจ๊ป ํํฐ๋ง ์กฐ๊ฑด์ ์ ์ฉํ๋ ์์์ ๋๋ค:
SELECT ๊ณ ๊ฐID
FROM ์ฃผ๋ฌธ
WHERE ์ฃผ๋ฌธ์ผ์ >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
MINUS
SELECT ๊ณ ๊ฐID
FROM ์ฃผ๋ฌธ
GROUP BY ๊ณ ๊ฐID;
์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด, "์ฃผ๋ฌธ" ํ ์ด๋ธ์์ ์ต๊ทผ 3๊ฐ์ ๋ด์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ ์ค์์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ ํํฐ๋ง ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ค๋ณต๋ ๊ฐ ์ ๊ฑฐ์ MINUS ์ฐ์ฐ์๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํจ์ผ๋ก์จ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋ ํํฐ๋ง ๋ฐ ๊ฒ์ ์์ ์ ํจ๊ณผ์ ์ผ๋ก ์ํํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ค๋ช ํ๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ๋ช ๊ฐ์ง ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ์๋๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์์ธํ ์ค๋ช ํ ๊ฒ์ ๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ์ ์ฐจ
- ์ค๋ณต๋ ๊ฐ์ ํฌํจํ ๋ฐ์ดํฐ์ ๋ชจ๋ ์ด์ ํฌํจํ๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
;
- ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ํจ๊ป ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ๋ ์ด๋ค ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต์ ์ ๊ฑฐํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค.
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
- ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ์ค๋ณต์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์๋ก ๋น๊ตํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
MINUS
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ์กฐํํ ๋ชจ๋ ๋ฐ์ดํฐ ์ค์์ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ง ๋ฐํ๋ฉ๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์์
์๋ฅผ ๋ค์ด, "์ํ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. "์ํ" ํ ์ด๋ธ์ ์๋์ ๊ฐ์ ์ด์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ์ํID (๊ณ ์ ํ ์๋ณ์)
- ์ํ๋ช
- ๊ฐ๊ฒฉ
์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ ์ํID๋ฅผ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. ์๋๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์์์ ๋๋ค:
SELECT *
FROM ์ํ
MINUS
SELECT ์ํID
FROM ์ํ
GROUP BY ์ํID;
์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด, "์ํ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๊ฐ ์ ๊ฑฐ๋๊ณ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ค๋ณต ๋ฐ์ดํฐ์ ์ํฅ์ ์์ ๊ณ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ์กฐํํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ค๋ช ํ๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ๋ช ๊ฐ์ง ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ์๋๋ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์์ธํ ์ค๋ช ํ ๊ฒ์ ๋๋ค.
๋จ๊ณ 1: ์ค๋ณต๋ ๊ฐ์ ํฌํจํ ๋ฐ์ดํฐ ์กฐํํ๊ธฐ
๋จผ์ , ์ค๋ณต๋ ๊ฐ์ ํฌํจํ ๋ฐ์ดํฐ์ ๋ชจ๋ ์ด์ ํฌํจํ๋ SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ๋ชฉํ๋ ์ค๋ณต๋ ๊ฐ์ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒ์ ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
;
๋จ๊ณ 2: ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํ SELECT ๋ฌธ ์์ฑํ๊ธฐ
๋ค์์ผ๋ก, ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ํจ๊ป SELECT ๋ฌธ์ ์์ฑํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ด๋ค ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค.
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
๋จ๊ณ 3: ์ค๋ณต ๊ฐ์ ์ ๊ฑฐํ๊ณ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด MINUS ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ
๋ง์ง๋ง์ผ๋ก, ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ์ค๋ณต์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ MINUS ์ฐ์ฐ์๋ก ๋น๊ตํฉ๋๋ค.
SELECT *
FROM ํ
์ด๋ธ๋ช
MINUS
SELECT ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ, ...
FROM ํ
์ด๋ธ๋ช
GROUP BY ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ;
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ์์ ์กฐํํ ๋ชจ๋ ๋ฐ์ดํฐ ์ค์์ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค๊ณผ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ง ๋ฐํ๋ฉ๋๋ค.
์์
์๋ฅผ ๋ค์ด, "์ํ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. "์ํ" ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ์ํID (๊ณ ์ ํ ์๋ณ์)
- ์ํ๋ช
- ๊ฐ๊ฒฉ
์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ ์ํID๋ฅผ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. ์ด์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
SELECT *
FROM ์ํ
MINUS
SELECT ์ํID
FROM ์ํ
GROUP BY ์ํID;
์์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด, "์ํ" ํ ์ด๋ธ์์ ์ค๋ณต๋ ์ํ ๋ฐ์ดํฐ๊ฐ ์ ๊ฑฐ๋๊ณ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ํ์ํ ์ค์ํ ๊ธฐ์ ์ ๋๋ค. ์์ ์ ์ฐจ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ์ค๋ณต ๋ฐ์ดํฐ์ ์ํฅ์ ์์ ๊ณ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ์กฐํํ ์ ์๊ฒ ๋ฉ๋๋ค.
5. ์ฃผ์์ฌํญ๊ณผ ์ต์ ํํ๊ธฐ
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ต์ ํํ๊ณ , ์ฃผ์์ฌํญ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
์ฃผ์์ฌํญ
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋, ์ต์์ SELECT ๋ฌธ๊ณผ ํ์ SELECT ๋ฌธ์ ์ด์ ์์น์ ๋ฐ์ดํฐ ์ ํ์ด ์ผ์นํด์ผ ํฉ๋๋ค. ์ด์ ์์์ ๋ฐ์ดํฐ ์ ํ์ด ์ผ์นํ์ง ์์ผ๋ฉด MINUS ์ฐ์ฐ์ด ์คํจํ ์ ์์ต๋๋ค.
MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ ๊ฐ์ ์ฐจ์ด์ ์ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์, ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ ๊ทธ ์ฐจ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๋ฐ๋ผ์ ์ค๋ณต๋ ๊ฐ ์์ฒด๊ฐ ์๋๋ผ ๊ฐ์ ์ฐจ์ด๋ฅผ ๋น๊ตํด์ผ ํฉ๋๋ค.
MINUS ์ฐ์ฐ์๋ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ์ ์์ด์๋ง ์ ํจํ๋ฉฐ, ๋ค๋ฅธ DML ๋ฌธ (INSERT, UPDATE, DELETE)์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์ ํ
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ต์ ํํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
ํ์ํ ์ด๋ง ์ ํํ๊ธฐ: MINUS ์ฐ์ฐ์ ๋น๊ต๋ฅผ ์ํด ํ์ํ ์ด๋ง ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ์ ์ก๋์ ์ค์ผ ์ ์์ต๋๋ค. ๋ถํ์ํ ์ด์ด ๋ง์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํด ํ์ํ ์ด๋ง ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค๋ณต ์ ๊ฑฐ ์๊ฐ ๊ฐ์๋ฅผ ์ํด ์ธ๋ฑ์ค ์ฌ์ฉํ๊ธฐ: ์ค๋ณต ์ ๊ฑฐ ์์ ์ ๊ทธ๋ฃนํ์ ๋ฐ๋ฅธ ๋ง์ ์ฐ์ฐ์ด ํ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ต์ํํ๊ธฐ ์ํด ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ์ฌ ์๋๋ฅผ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์ ํํ๊ธฐ: MINUS ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ต์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๊ธฐ์ค์ ์ ํํ์ฌ ์ค๋ณต๋ ๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐํ ์ ์๋๋ก ํฉ๋๋ค.
์ข ํฉ์ ์ธ ์ต์ ํ
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ต์ ํํ๊ธฐ ์ํด์๋ ๋ค์ํ ์์๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๊ตฌ์กฐ, ๋ฐ์ดํฐ์ ์๊ณผ ํํ, ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ๋ฑ์ ๋ฐ๋ผ ์ต์ ํ ์ ๋ต์ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค.
๋ํ, ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ์ ์ ํ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค๊ณ ํต๊ณ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ ์์คํ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ SQL ์คํ ๊ณํ์ ํ์ธํ์ฌ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ๋ค๋ฅธ ์์๋ฅผ ํ๊ฐํ๊ณ ์์ ํ์ฌ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ํฉ๋๋ค.
์ฃผ์์ฌํญ์ ์ ๋ ํ๊ณ ์ต์ ํ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ MINUS ์ฐ์ฐ์๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํด์ผ ํ ์ฌํญ์ ๋ํด ์๋ดํ๋ค.
์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์ ์ฐจ๋ฅผ ์ํํ ๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์์ฌํญ์ ์ฃผ์ํด์ผ ํฉ๋๋ค.
1. ์ด์ ์ผ์น
MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ๋, ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ์ ์ด์ ์์น์ ๋ฐ์ดํฐ ์ ํ์ด ์ผ์นํด์ผ ํฉ๋๋ค. ์ด์ ์์์ ๋ฐ์ดํฐ ์ ํ์ด ์ผ์นํ์ง ์์ผ๋ฉด MINUS ์ฐ์ฐ์ด ์คํจํ ์ ์์ต๋๋ค.
2. ๊ฐ์ ์ฐจ์ด ๋น๊ต
MINUS ์ฐ์ฐ์๋ ์ฒซ ๋ฒ์งธ SELECT ๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT ๋ฌธ ๊ฐ์ ์ฐจ์ด์ ์ ๊ฒ์ฌํ๊ธฐ ๋๋ฌธ์, ์ค๋ณต๋ ๊ฐ ์์ฒด๊ฐ ์๋๋ผ ๊ฐ์ ์ฐจ์ด๋ฅผ ๋น๊ตํด์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด์๋ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ์ ํ์์ ์ผ๋ก ํฌํจํ์ง ์์์ผ ํฉ๋๋ค.
3. SELECT ๋ฌธ์์ ์ฌ์ฉ ๊ฐ๋ฅ
MINUS ์ฐ์ฐ์๋ SELECT ๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํด์๋ง ์ ํจํ๋ฉฐ, ๋ค๋ฅธ DML ๋ฌธ (INSERT, UPDATE, DELETE)์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์, MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฌ์ฉ์๋ ๋ฐ๋์ SELECT ๋ฌธ์ ์์ฑํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์ฃผ์์ฌํญ์ ์ผ๋์ ๋๊ณ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ๊ณ MINUS ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์กฐ์ฌํ์ฌ ์ฐ์ฐ์ ์ฌ์ฉํ SELECT ๋ฌธ์ ์์ฑํ๊ณ ๋ฐ์ดํฐ ์ ํ๊ณผ ์ด์ ์์๋ฅผ ํ์ธํ์ฌ ์ ํํ ๋น๊ต๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
- ์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๊ณผ์ ์ฐจ์ด์ ์ ๋น๊ตํ๋ฉฐ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ๋, MINUS ์ฐ์ฐ์์์ ์ฐจ์ด์ ์ ๋น๊ตํ๊ณ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ ์ ์ํด๋ณด๊ฒ ์ต๋๋ค.
1. ํ์ํ ์ด๋ง ์ ํํ๊ธฐ
MINUS ์ฐ์ฐ์ ๋น๊ต๋ฅผ ์ํด ํ์ํ ์ด๋ง ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ์ ์ก๋์ ์ค์ผ ์ ์์ต๋๋ค. ์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋์๋ ํ์ํ ์ด๋ง ์ ํํ์ฌ ์ฌ์ฉํจ์ผ๋ก์จ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๋ถํ์ํ ์ด์ด ๋ง์ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํด ํ์ํ ์ด๋ง ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
2. ์ค๋ณต ์ ๊ฑฐ ์๊ฐ ๊ฐ์๋ฅผ ์ํด ์ธ๋ฑ์ค ์ฌ์ฉํ๊ธฐ
์ค๋ณต ์ ๊ฑฐ ์์ ์ ๊ทธ๋ฃนํ์ ๋ฐ๋ฅธ ๋ง์ ์ฐ์ฐ์ด ํ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ต์ํํ๊ธฐ ์ํด ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์นผ๋ผ์ ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ์ฌ ์๋๋ฅผ ํฅ์์ํฌ ์ ์์ต๋๋ค. MINUS ์ฐ์ฐ์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ํ์ ๋น๊ต๋ฅผ ์ํํด์ผ ํ๊ธฐ ๋๋ฌธ์, ์ค๋ณต ์ ๊ฑฐ ์์ ์ ๋ ๋ง์ ์๊ฐ์ด ์์๋ฉ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต ์ ๊ฑฐ ์์ ์ ์ต์ ํํ๋ฉด ์ฑ๋ฅ์ ๋์ผ ์ ์์ต๋๋ค.
3. ์ฌ๋ฐ๋ฅธ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค ์ ํํ๊ธฐ
MINUS ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ์ต์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋๋ ์ด์ ์ ์ ํ ์ ํํด์ผ ํฉ๋๋ค. ์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋์๋ ์ฌ๋ฐ๋ฅธ ๊ธฐ์ค์ ์ ํํ์ฌ ์ค๋ณต๋ ๊ฐ์ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐํ ์ ์๋๋ก ํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๊ธฐ์ค์ ๋ฐ์ดํฐ ๋๋ฉ์ธ๊ณผ ๋น์ฆ๋์ค ์๊ตฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก, ์ํฉ์ ๋ง๊ฒ ์ ํํด์ผ ํฉ๋๋ค.
์ข ํฉ์ ์ธ ์ต์ ํ
์ค๋ณต๋ ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๊ณผ MINUS ์ฐ์ฐ์์ ์ฐจ์ด์ ์ ๊ณ ๋ คํ์ฌ ์ต์ ํ๋ฅผ ์ํํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ ๊ตฌ์กฐ, ๋ฐ์ดํฐ์ ์๊ณผ ํํ, ์ฌ์ฉ๋๋ ์ธ๋ฑ์ค ๋ฑ์ ๊ณ ๋ คํ์ฌ ์ต์ ํ ์ ๋ต์ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก, ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ์ ์ ํ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค๊ณ ํต๊ณ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ ์์คํ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ SQL ์คํ ๊ณํ์ ํ์ธํ์ฌ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ ๋ค๋ฅธ ์์๋ฅผ ํ๊ฐํ๊ณ ์์ ํ์ฌ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋๋ก ํฉ๋๋ค. ์ต์ ํ๋ ๋ฐฉ๋ฒ์ ์ ํํ๊ณ ์ ์ฉํจ์ผ๋ก์จ ์ค๋ณต๋ ๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋๊ธ