1. INNER JOIN
๊ต์งํฉ ๊ฐ๋ .
SELECT *
FROM table1 a INNER JOIN table2 b ON a.column=b.column
2. OUTER JOIN
์ฌ์งํฉ, ํฉ์งํฉ ๊ฐ๋ .
ํนํ '์ฌ์งํฉ'์ ์ด๋ป๊ฒ ๊ตฌํํ ๊ฒ์ธ์ง ์ฐพ์๋ดค์๋๋ฐ, WHERE์ ์ NULL์ ๋ํ ์กฐ๊ฑด์ ๊ฑธ๋ฉด ๋๋ค. (โ )
โ LEFT / RIGHT JOIN
๋ฌธ๋ฒ, ๊ธฐ๋ฅ ์์ ํฐ ์ฐจ์ด๋ ์๋ค. JOIN์ ์์๋ณด๋ค๋ PK์ ์งํฉ ๋ ๋ฒจ์ด ์ค์ํ๋ค.
โก FULL JOIN
ํฉ์งํฉ ๊ฐ๋ .
3. CROSS JOIN
์ํธ ์กฐ์ธ.
์กฐ์ธ ์ปฌ๋ผ ์์ด, ๋ ํ ์ด๋ธ ๊ฐ ๊ฐ๋ฅํ ๋ชจ๋ ์ฐ๊ฒฐ์ ๊ฒฐํฉํ๋ ์กฐ์ธ ๋ฐฉ์.
์ ์ฒด ํ ๊ฐ์๋ ๋ ํ ์ด๋ธ์ ๊ฐ ํ์ ๊ฐ์๋ฅผ ๊ณฑํ ๊ฐ์ด๋ค. (=์นดํ ์์ ๊ณฑ Cartesian Product)
SELECT a.*, b.*
FROM table1 a CROSS JOIN table2 b
4. SELF JOIN
์์ฒด ์กฐ์ธ. ๊ฐ์ ํ ์ด๋ธ์ ๋ค๋ฅธ aliases๋ฅผ ๋ถ์ฌ ๊ตฌ๋ถํ๋ค.
SELECT *
FROM table1 a JOIN table1 b
ex. student ํ ์ด๋ธ์๋ ID(๊ณ ์ ๋ฒํธ), NAME(์ด๋ฆ), FRIEND_ID(๋ง๋๋์ ๊ณ ์ ๋ฒํธ) ์ปฌ๋ผ์ด ์๋ค.
ID | NAME | FRIEND_ID |
1 | John | 2 |
2 | Emily | 3 |
3 | Andrea | 1 |
์ฝ๋
SELECT a.ID, a.NAME, b.NAME "๋ง๋๋"
FROM student a JOIN student b
์คํ ๊ฒฐ๊ณผ
ID | NAME | ๋ง๋๋ |
1 | John | Emily |
2 | Emily | Andrea |
3 | Andrea | John |
์ฐธ๊ณ ์๋ฃ
SQL JOIN Types Explained
SQL JOINs explained: the comprehensive review. Learn how JOIN works in SQL and master all SQL JOINs types.
learnsql.com
SQL CROSS JOIN with examples
This article mentions SQL CROSS JOIN and performance considerations.
www.sqlshack.com
์นดํ ์์ ๊ณฑ
Cartesian Product, Product Set ์นดํ ์์ ๊ณฑ, ์นด๋ฅดํ ์์ ๊ณฑ, ์นดํธ์์ ๊ณฑ, ์นดํฐ์ ๊ณฑ, ๋ฐ์นด๋ฅดํธ ๊ณฑ, ๊ณฑ ์งํฉ(2022-10-23)
www.ktword.co.kr
SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ: JOIN(INNER, OUTER, CROSS, SELF JOIN)
์กฐ์ธ์ ๋ ๊ฐ์ ํ ์ด๋ธ์ ์๋ก ๋ฌถ์ด์ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋ด๋ ๊ฒ์ ๋งํ๋ค. INNER JOIN(๋ด๋ถ ์กฐ์ธ)์ ๋ ํ ์ด๋ธ์ ์กฐ์ธํ ๋, ๋ ํ ์ด๋ธ์ ๋ชจ๋ ์ง์ ํ ์ด์ ๋ฐ์ดํฐ๊ฐ ์์ด์ผ ํ๋ค.OUTER JOIN(์ธ๋ถ
hongong.hanbit.co.kr
'๐งฑ SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MySQL Datetime vs Timestamp (0) | 2023.12.29 |
---|---|
๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ ๊ทํ, ๋ฐ์ ๊ทํ (0) | 2023.12.29 |
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ 4 ์์ - ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์ (1) | 2023.12.28 |
JOIN ์ ๋ฐ์ดํฐ ์งํฉ ๋ ๋ฒจ (์งํฉ ์์ค) + ์ถ๊ฐ 231228 (0) | 2023.12.27 |
๋ชจ๋ธ๋ง์ ์ดํด (0) | 2023.12.27 |