- INNER JOIN (์ผ๋ฐ์ ์ธ JOIN): ๋ ํ ์ด๋ธ์ ํด๋น ํ๋๊ฐ์ด ๋งค์นญ๋๋ (๋ ํ ์ด๋ธ์ ๋ชจ๋ ํ๋๋ก ๊ตฌ์ฑ๋) ๋ ์ฝ๋๋ง ๊ฐ์ ธ์จ๋ค.
- OUTER JOIN (์ฐธ๊ณ )
LEFT OUTER JOIN: ์ผ์ชฝ ํ ์ด๋ธ์์ ๋ชจ๋ ๋ ์ฝ๋์ ํจ๊ป, ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ์ผ์ชฝ ํ ์ด๋ธ ๋ ์ฝ๋์ ๋งค์นญ๋๋ ๋ ์ฝ๋๋ฅผ ๋ถ์ฌ์ ๊ฐ์ ธ์จ๋ค.
RIGHT OUTER JOIN: ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์์ ๋ชจ๋ ๋ ์ฝ๋์ ํจ๊ป, ์ผ์ชฝ ํ ์ด๋ธ์ ์ผ์ชฝ ํ ์ด๋ธ ๋ ์ฝ๋์ ๋งค์นญ๋๋ ๋ ์ฝ๋๋ฅผ ๋ถ์ฌ์ ๊ฐ์ ธ์จ๋ค.- CROSS JOIN: ๋ ํ ์ด๋ธ์ ์๋ ๋ชจ๋ ๊ฐ์ ๊ฐ๊ฐ ํฉ์ณ์ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์จ๋ค.
- SELF JOIN: ๊ฐ์ ํ ์ด๋ธ์ ์๋ ๋ ์ฝ๋๋ฅผ ํฉ์ณ์ ๊ฐ์ ธ์จ๋ค.
SELECT [์ปฌ๋ผ๋ช
], ...
FROM [ํ
์ด๋ธ๋ช
1] INNER JOIN [ํ
์ด๋ธ๋ช
2]
ON [ํ
์ด๋ธ๋ช
1].[์ปฌ๋ผ๋ช
1] = [ํ
์ด๋ธ๋ช
2].[์ปฌ๋ผ๋ช
2]
SELECT * FROM country C
INNER JOIN countrylanguage CL
ON C.Code = CL.CountryCode
LIMIT 5;
(Code๊ฐ ABW์ธ ๋๋ผ๋ ์ธ์ด๋ฅผ 4๊ฐ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ JOINํ ๊ฒฐ๊ณผ๋ 4๋ฒ ์ถ๋ ฅํ๋ ๊ฒ์ ์ ์ ์๋ค.)
SELECT [์ปฌ๋ผ๋ช
], ...
FROM [ํ
์ด๋ธ๋ช
1] LEFT OUTER JOIN/RIGHT OUTER JOIN [ํ
์ด๋ธ๋ช
2]
ON [ํ
์ด๋ธ๋ช
1].[์ปฌ๋ผ๋ช
1] = [ํ
์ด๋ธ๋ช
2].[์ปฌ๋ผ๋ช
2]
<LEFT OUTER JOIN>
<RIGHT OUTER JOIN>
SELECT [์ปฌ๋ผ๋ช
], ...
FROM [ํ
์ด๋ธ๋ช
1] CROSS JOIN [ํ
์ด๋ธ๋ช
2]
-- ON ํค์๋๊ฐ ์์ด๋ ๋๋ค.
SELECT * FROM
test_table T1 CROSS JOIN test_tb T2;
SELECT *
FROM test_table t1
INNER JOIN test_table t2
ON t1.test_id = t2.test_id;