๐Ÿงฑ SQL

JOIN์˜ ์œ ํ˜• - INNER, (LEFT/RIGHT/FULL) OUTER, CROSS, SELF

ํ–‰ํŒฝ 2023. 12. 28. 16:06

1. INNER JOIN 

๊ต์ง‘ํ•ฉ ๊ฐœ๋….

SELECT *
FROM table1 a INNER JOIN table2 b ON a.column=b.column

โ“’learnsql.com/blog/sql-joins-types-explained/

 

 

 

2. OUTER JOIN 

์—ฌ์ง‘ํ•ฉ, ํ•ฉ์ง‘ํ•ฉ ๊ฐœ๋….

ํŠนํžˆ '์—ฌ์ง‘ํ•ฉ'์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ๊ฒƒ์ธ์ง€ ์ฐพ์•„๋ดค์—ˆ๋Š”๋ฐ, WHERE์ ˆ์— NULL์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ๊ฑธ๋ฉด ๋œ๋‹ค. (โ˜…)

โ“’hongong.hanbit.co.kr/sql-๊ธฐ๋ณธ-๋ฌธ๋ฒ•-joininner-outer-cross-self-join/

 

 

โ‘  LEFT / RIGHT JOIN

๋ฌธ๋ฒ•, ๊ธฐ๋Šฅ ์ƒ์˜ ํฐ ์ฐจ์ด๋Š” ์—†๋‹ค. JOIN์€ ์ˆœ์„œ๋ณด๋‹ค๋Š” PK์™€ ์ง‘ํ•ฉ ๋ ˆ๋ฒจ์ด ์ค‘์š”ํ•˜๋‹ค.

โ“’learnsql.com/blog/sql-joins-types-explained/

 

 

โ‘ก FULL JOIN

ํ•ฉ์ง‘ํ•ฉ ๊ฐœ๋….

โ“’learnsql.com/blog/sql-joins-types-explained/

 

 

 

3. CROSS JOIN 

์ƒํ˜ธ ์กฐ์ธ.

์กฐ์ธ ์ปฌ๋Ÿผ ์—†์ด, ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์—ฐ๊ฒฐ์„ ๊ฒฐํ•ฉํ•˜๋Š” ์กฐ์ธ ๋ฐฉ์‹.

์ „์ฒด ํ–‰ ๊ฐœ์ˆ˜๋Š” ๋‘ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณฑํ•œ ๊ฐ’์ด๋‹ค. (=์นดํ…Œ์‹œ์•ˆ ๊ณฑ Cartesian Product)

SELECT a.*, b.*
FROM table1 a CROSS JOIN table2 b

โ“’sqlshack.com/sql-cross-join-with-examples/

 

 

 

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