[Database] JOIN ๊ฐœ๋…๊ณผ ์ข…๋ฅ˜ (๋‚ด๋ถ€์กฐ์ธ INNER JOIN, ์™ธ๋ถ€์กฐ์ธ OUTER JOIN)

2021. 10. 22. 13:13ใ†๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

728x90

1 JOIN

JOIN ์ด๋ž€ ๋‘๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•ดํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ  ์ €์žฅํ•˜๋Š”๋ฐ ๊ทธ๋Ÿฌ๋‹ค ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ์กฐํ•ฉํ•ด์•ผํ•  ํ•„์š”๊ฐ€ ์ƒ๊ธด๋‹ค. 

๊ทธ๋Ÿด๋•Œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค JOIN ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 

JOIN์—์„œ๋Š” ๋‚ด๋ถ€์กฐ์ธ INNER JOIN ๊ณผ ์™ธ๋ถ€์กฐ์ธ OUTER JOIN์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. 

 

 

2. ๋‚ด๋ถ€ ์กฐ์ธ INNER JOIN 

๋‚ด๋ถ€์กฐ์ธ์˜ ์•ˆ์—๋Š” 

CROSS JOIN, INNER JOIN, EQUI JOIN, NON-EQUI JOIN, NATURAL JOIN ์ด ์žˆ๋‹ค. 

 

1๏ธโƒฃ CROSS JOIN 

CROSS JOIN์€ ๋‘ ํ…Œ์ด๋ธ”์„ ๊ทธ๋ƒฅ ๊ณฑํ•œ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

 

 

 

2๏ธโƒฃ INNER JOIN 

INNER JOIN์€ ์กฐ์ธ ์กฐ๊ฑด๋ฌธ์— ๋”ฐ๋ผ 2๊ฐœ์˜ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์„ ํ•ฉ์ณ ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

์•ž์—์„œ ๊ต์ฐจ์กฐ์ธํ•œ ๊ฒฐ๊ณผ์—์„œ ์กฐ์ธ ์กฐ๊ฑด๋ฌธ์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

 

 

3๏ธโƒฃ EQUI JOIN, NON-EQUI JOIN 

๋“ฑ๊ฐ€ ์กฐ์ธ์€ = ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ธ์„ ์˜๋ฏธํ•˜๋ฉฐ, INNER JOIN๊ณผ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค.

๋น„๋“ฑ๊ฐ€ ์กฐ์ธ์€ =๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ข‹์€์œผ๋กœ, < , > ๋‚˜ BETWEEN๊ณผ ๊ฐ™์€ ๋น„๊ต๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์กฐ์ธ์ด๋‹ค. 

 

 

4๏ธโƒฃ NATURAL JOIN 

NATURAL JOIN์€ ์นผ๋Ÿผ๋ช…์ด ๊ฐ™์€ ๊ธฐ์ค€์œผ๋กœ ์กฐ์ธ ์กฐ๊ฑด๋ฌธ์ด ์•”์‹œ์ ์œผ๋กœ ์ผ์–ด๋‚˜๋Š” ๋‚ด๋ถ€ ์กฐ์ธ์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค.

๋ฐ‘์˜ ํ…Œ์ด๋ธ”์—์„œ CUSTOMER_CD๊ฐ€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋กœ NATURAL JOIN ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

3. ์™ธ๋ถ€ ์กฐ์ธ OUTER JOIN 

 

OUTER JOIN ์€ INNER JOIN์ด ์กฐ๊ฑด๋ฌธ์— ๋งŒ์กฑํ•˜๋Š” ํ–‰๋งŒ ๋‚˜ํƒ€๋‚ด๋Š” ์กฐ์ธ์ด๋ผ๋ฉด OUTER JOIN์€ ์กฐ๊ฑด๋ฌธ์— ๋งŒ์กฑํ•˜์ง€ ์•Š์€ ํ–‰๋„ ํ‘œ์‹œํ•ด์ฃผ๋Š” ์กฐ์ธ์ด๋‹ค. 

๋”ฐ๋ผ์„œ ์กฐ์ธ์„ ํ–ˆ์„ ๋•Œ ํ•œ์ชฝ ํ…Œ์ด๋ธ”์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๊ณ  ํ•ด๋„ ์กฐ์ธ ๊ฒฐ๊ณผ์— ํฌํ•จ์‹œํ‚ค๋Š” ์กฐ์ธ์ด๋‹ค.

 

1๏ธโƒฃ LEFT OUTER JOIN 

์™ผ์ชฝ ์™ธ๋ถ€ ์กฐ์ธ์€ ํ…Œ์ด๋ธ” A์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ํ…Œ์ด๋ธ” B์™€ ๋งค์นญ๋˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ์กฐ์ธ์ด๋‹ค. 

 

 

2๏ธโƒฃ RIGHT OUTER JOIN 

์˜ค๋ฅธ์ชฝ ์™ธ๋ถ€ ์กฐ์ธ์€ ํ…Œ์ด๋ธ” B์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ํ…Œ์ด๋ธ” A์— ๋งค์นญ๋˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ์กฐ์ธ์ด๋‹ค. 

 

 

3๏ธโƒฃ FULL OUTER JOIN 

์™„์ „ ์™ธ๋ถ€ ์กฐ์ธ์€ ํ•œ๋งˆ๋””๋กœ ์™ผ์ชฝ ์™ธ๋ถ€ ์กฐ์ธ๊ณผ ์˜ค๋ฅธ์ชฝ ์™ธ๋ถ€ ์กฐ์ธ์„ ํ•ฉ์นœ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90