2024. 7. 9. 23:37ใTIL
๐กSQL๋ฌธ๋ฒ - JOIN : INNER, OUTER, CROSS, SELF JOIN
- ๋๊ฐ์ ํ ์ด๋ธ์ ์ฎ์ด ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํด์ผํ๋ ๊ฒฝ์ฐ JOIN์ ์ฌ์ฉํ๊ฒ ๋๋ค.
- ๋ ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ์ฎ๊ธฐ ์ํด์๋ ๊ธฐ๋ณธํค์ ์ธ๋ํค๋ก ๊ด๊ณ๋ฅผ ๋งบ์ด์ผํ๋ฉฐ, ํ ์ด๋ธ์ ๊ด๊ณ๋ง๋ค 1 : 1 , 1 : N , N : M ๊ด๊ณ๊ฐ ํ์ฑ๋๋ค.
INNER JOIN
- ๋ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก, ๊ทธ๋ฅ JOIN ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉด INNER JOIN ์ ์๋ฏธํ๋ค.
- ๋ ํ ์ด๋ธ ๊ฐ์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ง ๋ฐํํ๋ค.
OUTER JOIN (FULL OUTER JOIN)
- INNER JOIN์ ๋ ํ ์ด๋ธ ๋ชจ๋ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด์ง๋ง , OUTER JOIN์ ํ์ชฝ ํ ์ด๋ธ์ด ๊ฐ์ง๊ณ ์์ง ์๋ ๋ฐ์ดํฐ๋ ๋ด๋ณด๋ธ๋ค. (๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ null๋ก ์ถ๋ ฅ)
LEFT JOIN
- ์ผ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค.
- ์ผ์นํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๊ฐ์ null๋ก ๋ฐํ๋๋ค.
RIGHT JOIN
- LEFT JOIN๊ณผ ๋ฐ๋๋ก ์ค๋ฅธ์ชฝ์ ์์นํ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ผ์ชฝ ํ ์ด๋ธ์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค.
- ์ผ์นํ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ผ์ชฝ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๊ฐ์ null๋ก ๋ฐํ๋๋ค.
SELF JOIN
- SELF JOIN์ ์๊ธฐ ์์ ๊ณผ JOINํ๋ฏ๋ก ํ ์ด๋ธ 1๊ฐ๋ฅผ ์ฌ์ฉํ๋ค. ๋ณ๋์ ๋ฌธ๋ฒ์ด ๋ฐ๋ก ์์ง ์์ผ๋ฉฐ ํ ์ด๋ธ ํ๋๋ฅผ JOINํ๋ฉด SELF JOIN์ด ๋๋ค.
* ์ฐธ์กฐ์ฌ์ดํธ
SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ: JOIN(INNER, OUTER, CROSS, SELF JOIN)
์กฐ์ธ์ ๋ ๊ฐ์ ํ ์ด๋ธ์ ์๋ก ๋ฌถ์ด์ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋ด๋ ๊ฒ์ ๋งํ๋ค. INNER JOIN(๋ด๋ถ ์กฐ์ธ)์ ๋ ํ ์ด๋ธ์ ์กฐ์ธํ ๋, ๋ ํ ์ด๋ธ์ ๋ชจ๋ ์ง์ ํ ์ด์ ๋ฐ์ดํฐ๊ฐ ์์ด์ผ ํ๋ค.OUTER JOIN(์ธ๋ถ
hongong.hanbit.co.kr
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL( Linked List ) (0) | 2024.07.11 |
---|---|
TIL ( ํ์ ์คํฌ๋ฆฝํธ - ์ ๋ค๋ฆญ ) (0) | 2024.07.10 |
TIL ( Injection ) (0) | 2024.07.08 |
TIL( NestJS - Passport ) (0) | 2024.07.05 |
TIL( Nest.js - IoC, DI ) (0) | 2024.07.04 |