ํ ์ด๋ธ์ 2๊ฐ ์ด์ ์กฐ์ธํ๋ค๋ ์๋ฏธ
- ๋ถ๋ฆฌ๋ ๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์์ ์ํ๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์กฐํฉ์ ๋ง๋ค์ด๋ด๋ ๊ฒ
๋ด๋ถ ์กฐ์ธ(INNER JOIN)
- ๋ด๋ถ ์กฐ์ธ์ ์กฐ์ธํค์ ํด๋นํ๋ ๊ฐ ํ ์ด๋ธ์ ์ด๊ฐ์ ๋น๊ตํด ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ ๊ฒ์ํ๋ค.
SELECT [์ด ์ด๋ฆ]
FROM [ํ
์ด๋ธ 1]
INNER JOIN [ํ
์ด๋ธ 2] ON [ํ
์ด๋ธ 1.์ด] = [ํ
์ด๋ธ 2.์ด]
WHERE [๊ฒ์ ์กฐ๊ฑด]
INNER JOIN ๋ฌธ ์ฌ์ฉํ๊ธฐ (2๊ฐ ํ ์ด๋ธ ์กฐ์ธ)
ON ๋ฌธ๊ณผ WHERE ๋ฌธ์ ์ฐจ์ด
- ON: ์กฐ์ธํ ๋ ์กฐ์ธ ์กฐ๊ฑด์ ์ํด ์ฌ์ฉ
- WHERE: ์กฐ์ธ์ ์๋ฃํ ์ํ์์ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ์ ๊ฐ์ ธ์ค๊ณ ์ ์ฌ์ฉ
- ON ๋ฌธ์ ์กฐ๊ฑด์ ๋ค์ํ๊ฒ ๋ถ์ฌํด WHERE ๋ฌธ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๊ฒ ํ ์๋ ์์ง๋ง ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ ๋งค์นญ ๊ณผ์ ์์ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ฏ๋ก ๊ทธ๋ ๊ฒ ํด์๋ ์ ๋๋ค. ๋ฐ๋์ ON ๋ฌธ๊ณผ WHERE ๋ฌธ์ ์ฑ๊ฒฉ์ ๋ถ๋ฆฌํด์ ์ฌ์ฉํ์.
INNER JOIN ๋ฌธ ์ฌ์ฉํ๊ธฐ (2๊ฐ ์ด์์ ์กฐ๊ฑด ์ ์ฉ)
INNER JOIN ๋ฌธ ์ฌ์ฉํ๊ธฐ (3๊ฐ ์ด์์ ํ ์ด๋ธ ์กฐ์ธ)
์ธ๋ถ ์กฐ์ธ (OUTER JOIN)
INNER JOIN์ ๋ ํ ์ด๋ธ์ ์กฐ์ธํด ์กฐ์ธ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ ์ด์ ์๋ ๊ฐ์ ๊ฐ์ ์กฐํฉํด ๊ฒ์ํ๋ค.
๋ค๋ฅธ ํ ์ด๋ธ์ ์๋ ํ์์ ์ผ์น ํญ๋ชฉ์ด ์๋ ํ์ ์กฐํฉํด ๊ฒ์ํด์ผ ํ ๋๋ ์ธ๋ถ ์กฐ์ธ(OUTER JOIN)์ ์ฌ์ฉํ๋ค.
์ธ๋ถ ์กฐ์ธ์ ์ข ๋ฅ
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- FULL OUTER JOIN
LEFT OUTER JOIN ์์๋ณด๊ธฐ
OUTER JOIN ๋ฌธ ์ข์ธก์ A ํ ์ด๋ธ์ด ์๊ณ ์ฐ์ธก์ B ํ ์ด๋ธ์ด ์๋ ๊ฒฝ์ฐ → ์ข์ธก(A) ํ ์ด๋ธ ๊ธฐ์ค์ผ๋ก ์กฐ์ธํ๊ณ ์ถ์ผ๋ฉด LEFT OUTER JOIN
์ข์ธก์ ๊ณ ๊ฐ ํ ์ด๋ธ์ด ์๊ณ ์ฐ์ธก์ ์ฃผ๋ฌธ ํ ์ด๋ธ์ด ์์ ๋, ๊ณ ๊ฐ ํ ์ด๋ธ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ(๊ณ ๊ฐ ํ ์ด๋ธ์ ์๋ ๋ฐ์ดํฐ๋ ๋ค ๋์ค๊ณ ๊ทธ์ ๋ง๋ ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ ์์ผ๋ฉด ๋์ค๊ณ ์์ผ๋ฉด ์ ๋์ค๊ฒ๋)
RIGHT OUTER JOIN ์์๋ณด๊ธฐ
LEFT OUTER JOIN๊ณผ ์๋ฆฌ๋ ๊ฐ๊ณ ๋ฐฉํฅ๋ง ๋ค๋ฅด๋ค.
์ฐ์ธก์ ์ฃผ๋ฌธ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ณด์ฌ์ฃผ๊ณ ์ข์ธก์ ๊ณ ๊ฐ ํ ์ด๋ธ์ ์กฐ์ธ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๊ฐ ์์๋๋ง ๋ณด์ฌ์ค๋ค.
FULL OUTER JOIN ์์๋ณด๊ธฐ
FULL OUTER JOIN์ LEFT OUTER JOIN๊ณผ RIGHT OUTER JOIN์ ํฉ์น ๊ฒ์ด๋ค. FULL OUTER JOIN ๊ฐ์ ๊ฒฝ์ฐ ์์ชฝ ํ ์ด๋ธ์ ์ผ์นํ์ง ์์ ํ๋ ๋ชจ๋ ๊ฒ์ํ๋ค. ์ฆ, ์กฐ์ธ ์กฐ๊ฑด์ ์ผ์นํ์ง ์๋ ํญ๋ชฉ๊ณผ ์ผ์นํ๋ ํญ๋ชฉ ๋ชจ๋๊ฐ ํ์๋๋ค.
๊ต์ฐจ ์กฐ์ธ (CROSS JOIN)
์์ฃผ ์ฌ์ฉํ์ง๋ ์์ง๋ง, ๊ฐ ํ ์ด๋ธ์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์กฐํฉํ ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ต์ฐจ ์กฐ์ธ(CROSS JOIN)์ ์ฌ์ฉํ ์ ์๋ค.(์นด๋ฅดํ ์์ ๊ณฑ)
์ ํ ์กฐ์ธ
์๊ธฐ ์์ ์ ์กฐ์ธ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํ ์กฐ์ธ์ด๋ผ๊ณ ํ๋ค.
'Database > Do it! SQL ์ ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Do it! SQL ์ ๋ฌธ] 04-3. ๊ณตํต ํ ์ด๋ธ ์ (0) | 2025.04.18 |
---|---|
[Do it! SQL ์ ๋ฌธ] 04-2. ์๋ธ ์ฟผ๋ฆฌ (1) | 2025.04.18 |
[Do it! SQL ์ ๋ฌธ] 03-7. SQL Server์์ ๋ค๋ฃจ๋ ์๋ฃํ ์ ๋ฆฌํ๊ธฐ (0) | 2025.03.28 |
[Do it! SQL ์ ๋ฌธ] 03-6. ํ ์ด๋ธ ์์ฑํ๊ณ ๋ฐ์ดํฐ ์กฐ์ํ๊ธฐ (0) | 2025.03.28 |
[Do it! SQL ์ ๋ฌธ] 03-5. ๋ฐ์ดํฐ ๊ทธ๋ฃนํ ๋ค๋ฃจ๊ธฐ (0) | 2025.03.21 |