๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ
ํ ์ด๋ธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด, ์ ์ด๋ ํ๋์ ์นผ๋ผ์ ์๋ก ๊ณต์ ํ๊ณ ์์ด์ผ ํ๋ฏ๋ก ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ๊ฒ์์ ํ์ฉํ๋ค.
- INNER JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
- CROSS JOIN
- SELF JOIN
-
๊ต์งํฉ์ผ๋ก, ๊ธฐ์ค ํ ์ด๋ธ๊ณผ join ํ ์ด๋ธ์ ์ค๋ณต๋ ๊ฐ์ ๋ณด์ฌ์ค๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
-
๊ธฐ์คํ ์ด๋ธ๊ฐ๊ณผ ์กฐ์ธํ ์ด๋ธ๊ณผ ์ค๋ณต๋ ๊ฐ์ ๋ณด์ฌ์ค๋ค.
์ผ์ชฝํ ์ด๋ธ ๊ธฐ์ค์ผ๋ก JOIN์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
-
LEFT OUTER JOIN๊ณผ๋ ๋ฐ๋๋ก ์ค๋ฅธ์ชฝ ํ ์ด๋ธ ๊ธฐ์ค์ผ๋ก JOINํ๋ ๊ฒ์ด๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
-
ํฉ์งํฉ์ ๋งํ๋ค. A์ B ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๊ฒ์๋๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
-
๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ ๋ถ ํํํด์ฃผ๋ ๋ฐฉ์์ด๋ค.
A๊ฐ 3๊ฐ, B๊ฐ 4๊ฐ๋ฉด ์ด 3*4 = 12๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๊ฒ์๋๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A CROSS JOIN JOIN_TABLE B
-
์๊ธฐ์์ ๊ณผ ์๊ธฐ์์ ์ ์กฐ์ธํ๋ ๊ฒ์ด๋ค.
ํ๋์ ํ ์ด๋ธ์ ์ฌ๋ฌ๋ฒ ๋ณต์ฌํด์ ์กฐ์ธํ๋ค๊ณ ์๊ฐํ๋ฉด ํธํ๋ค.
์์ ์ด ๊ฐ๊ณ ์๋ ์นผ๋ผ์ ๋ค์ํ๊ฒ ๋ณํ์์ผ ํ์ฉํ ๋ ์์ฃผ ์ฌ์ฉํ๋ค.
SELECT A.NAME, B.AGE FROM EX_TABLE A, EX_TABLE B