1. ์๊ฐ
INTERSECT๋ SQL์์ ์ฌ์ฉ๋๋ SELECT๋ฌธ์ ํ ์ข ๋ฅ๋ก, ๋ ๊ฐ ์ด์์ SELECT๋ฌธ ๊ฒฐ๊ณผ์์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ง์ ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. INTERSECT๋ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ด ๋ฐ์ดํฐ ๋ถ์์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ์ ์ฉํ๊ฒ ํ์ฉ๋ฉ๋๋ค. ์ด ๊ธ์์๋ INTERSECT์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ค์ ์์๋ฅผ ํตํด ์์ธํ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋ INTERSECT๋ฅผ ์ฌ์ฉํ๋ฉด ํจ์จ์ ์ด๊ณ ๊ฐ๋จํ๊ฒ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์ดํ์ ํญ๋ชฉ๋ค์ INTERSECT์ ๋ํ ์์ธํ ์ค๋ช ๊ณผ ์์๋ฅผ ์ ๊ณตํฉ๋๋ค.
2. INTERSECT๋ ๋ฌด์์ธ๊ฐ?
INTERSECT๋ SQL์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ก, ๋ ๊ฐ ์ด์์ SELECT๋ฌธ์ ๊ฒฐ๊ณผ์์ ์ค๋ณต๋ ํ๋ง์ ์ถ์ถํ๋ ์ญํ ์ ํฉ๋๋ค. INTERSECT ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ SELECT๋ฌธ์ด ํ์ํ๋ฉฐ, ์ฒซ ๋ฒ์งธ SELECT๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ง์ ๋ฐํํฉ๋๋ค.
INTERSECT ์ฐ์ฐ์๋ ๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ ํ๋ค์ด ๋ชจ๋ SELECT๋ฌธ์์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋๋ก ๋์ํฉ๋๋ค. ๊ฐ SELECT๋ฌธ์ ๊ฒฐ๊ณผ์๋ ๋์ผํ ์ด ์์ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ๋ํ, ์ด์ ์ด๋ฆ์ ์ผ์นํ์ง ์์๋ ๋์ง๋ง ๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ ๋ฐ์ดํฐ์ ์ด ์ด๋ฆ์ ์ฒซ ๋ฒ์งธ SELECT๋ฌธ์ ๋ฐ๋ฆ ๋๋ค.
INTERSECT๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ง์ ์ถ์ถํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํ์ฉํ๋ฉด ๋ฐ์ดํฐ ์ ์ ๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ๊ด๋ จ ์์ ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
3. INTERSECT๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ ์ถ์ถํ๊ธฐ
INTERSECT๋ SQL์์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ก, ๋ ๊ฐ ์ด์์ SELECT๋ฌธ์ ๊ฒฐ๊ณผ์์ ๊ณตํต๋ ๋ฐ์ดํฐ๋ง์ ๋ฐํํฉ๋๋ค. ์ค๋ณต๋ ๋ฐ์ดํฐ์ ์ถ์ถ์ ๋ฐ์ดํฐ ์ ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์ ์์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์์ต๋๋ค.
INTERSECT๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
SELECT column1, column2, ...
FROM table1
INTERSECT
SELECT column1, column2, ...
FROM table2;
์์ ์์์์๋ ๋ ๊ฐ์ SELECT๋ฌธ์ด ์กด์ฌํ๋ฉฐ, ๊ฐ SELECT๋ฌธ์์ ๋ฐํ๋๋ ๋ฐ์ดํฐ์ ์ด ์ด๋ฆ๊ณผ ์ ํ์ ๋์ผํด์ผ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ SELECT๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ค๋ณต๋ ํ๋ง์ ๋ฐํํฉ๋๋ค. ๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ ํ๋ค์ ๋ชจ๋ SELECT๋ฌธ์์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํฉ๋๋ค.
์๋ฅผ ๋ค์ด, "employees" ํ ์ด๋ธ๊ณผ "managers" ํ ์ด๋ธ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. "employees" ํ ์ด๋ธ์๋ ๋ชจ๋ ์ง์์ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๊ณ , "managers" ํ ์ด๋ธ์๋ ๋งค๋์ ์ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. ์ด๋ INTERSECT๋ฅผ ์ฌ์ฉํ์ฌ ๋งค๋์ ๊ฒธ ์ง์์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
SELECT id, name, position
FROM employees
INTERSECT
SELECT id, name, position
FROM managers;
์์ ์์์์๋ "employees" ํ ์ด๋ธ๊ณผ "managers" ํ ์ด๋ธ์์ ๊ฐ๊ฐ id, name, position ์ด์ ์ ํํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ์์ต๋๋ค. ์ด๋ ๊ฒ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๋ถ์ํ๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
4. INTERSECT์ ํ์ฉ ์์
INTERSECT ์ฐ์ฐ์๋ ์ค๋ณต๋ ๋ฐ์ดํฐ ์ถ์ถ์ ํ์ฉ๋ ์ ์๋๋ฐ, ๋ค์ํ ์ํฉ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์๋๋ INTERSECT๋ฅผ ํ์ฉํ ๋ช ๊ฐ์ง ์์์ ๋๋ค:
์์ 1: ์ค๋ณต ๋ฐ์ดํฐ ์ ์
SELECT emp_id, emp_name
FROM employees
INTERSECT
SELECT emp_id, emp_name
FROM sales;
์์ ์์์์๋ "employees" ํ ์ด๋ธ๊ณผ "sales" ํ ์ด๋ธ์์ ์ง์ ID์ ์ง์ ์ด๋ฆ์ด ์ผ์นํ๋ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ ํ ์ด๋ธ์์ ๊ณตํต์ผ๋ก ์กด์ฌํ๋ ์ง์๋ค์ ์ ๋ณด๋ฅผ ์ ์ ํ ์ ์์ต๋๋ค.
์์ 2: ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ค๋ณต ๋ฐ์ดํฐ ์ถ์ถ
SELECT customer_id, customer_name
FROM customers
WHERE purchase_amount >= 1000
INTERSECT
SELECT customer_id, customer_name
FROM orders
WHERE order_date >= '2022-01-01';
์์ ์์์์๋ "customers" ํ ์ด๋ธ๊ณผ "orders" ํ ์ด๋ธ์์ ๊ตฌ๋งค ๊ธ์ก์ด 1000 ์ด์์ธ ๊ณ ๊ฐ๋ค๊ณผ 2022๋ 1์ 1์ผ ์ดํ์ ์ฃผ๋ฌธํ ๊ณ ๊ฐ๋ค์ ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํน์ ๊ณ ๊ฐ๋ค์ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
์์ 3: ๋ฐ์ดํฐ์ ์ผ์น ์ฌ๋ถ ํ์ธ
SELECT product_id, product_name
FROM inventory
INTERSECT
SELECT product_id, product_name
FROM sales_report;
์์ ์์์์๋ "inventory" ํ ์ด๋ธ๊ณผ "sales_report" ํ ์ด๋ธ์์ ์ํ ์์ด๋์ ์ํ ์ด๋ฆ์ด ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ๊ณ ์ ์ค์ ํ๋งค ๋ฐ์ดํฐ์ ์ผ์น ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
INTERSECT๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ฒ์ ๋ฐ์ดํฐ ์ ์ ๋ ๋ฐ์ดํฐ ์ผ์น ์ฌ๋ถ ํ์ธ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ ์ฉํ๊ฒ ํ์ฉ๋ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ ์ถ์ถ ๋ฑ ๋ค์ํ ํ์ฉ ๋ฐฉ๋ฒ์ ์ฐพ์ ํ์ฉํ ์ ์์ต๋๋ค.
5. ๊ฒฐ๋ก
INTERSECT ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์ ์ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค. ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๋ถ์ํ๊ฑฐ๋ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฑ ๋ค์ํ ์ฉ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค.
INTERSECT ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ฉฐ, ๋ ๊ฐ ์ด์์ SELECT๋ฌธ์ ์ฌ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. SELECT๋ฌธ์์ ๋ฐํ๋๋ ๋ฐ์ดํฐ์ ์ด ์ด๋ฆ๊ณผ ์ ํ์ด ๋์ผํด์ผ ํ๋ฉฐ, ์ฒซ ๋ฒ์งธ SELECT๋ฌธ๊ณผ ๋ ๋ฒ์งธ SELECT๋ฌธ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ ์ค๋ณต๋ ํ๋ง์ ๋ฐํํฉ๋๋ค.
์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ์์๋ฅผ ํตํด INTERSECT์ ํ์ฉ๋ฒ์ ํ์ธํด๋ณด์์ต๋๋ค. ์ค๋ณต ๋ฐ์ดํฐ ์ ์ , ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ค๋ณต ๋ฐ์ดํฐ ์ถ์ถ, ๋ฐ์ดํฐ์ ์ผ์น ์ฌ๋ถ ํ์ธ ๋ฑ ๋ค์ํ ์ํฉ์์ INTERSECT ์ฐ์ฐ์๋ฅผ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ INTERSECT๋ฅผ ํ์ฉํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ๋ถ์ํ๋ ๊ฒ์ ๋ฐ์ดํฐ ์ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์ ์ ์ํํ๋ ๋ฐ ์์ด์ ์ ์ฉํ ๋๊ตฌ๋ก ํ์ฉ๋ ์ ์์ต๋๋ค.
๋๊ธ