Join์ด๋ž€?

0taetaeยท2024๋…„ 12์›” 28์ผ
post-thumbnail

๐Ÿ“™Join์˜ ์ข…๋ฅ˜

๐Ÿ’ก๋‚ด๋ถ€ ์กฐ์ธ(inner join)

์™ผ์ชฝ ํ…Œ์ด๋ธ”๊ณผ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋‘ ํ–‰์ด ๋ชจ๋‘ ์ผ์น˜ํ•˜๋Š” ํ–‰์ด ์žˆ๋Š” ๋ถ€๋ถ„๋งŒ ํ‘œ๊ธฐ

SELECT * FROM table1_name A
INNER JOIN table2_name B ON
A.key = B.key

๐Ÿ’ก์™ผ์ชฝ ์กฐ์ธ(left outer join)

์™ผ์ชฝ ํ…Œ์ด๋ธ”(A)์˜ ๋ชจ๋“  ํ–‰์ด ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์— ํ‘œ๊ธฐ

  • ํ…Œ์ด๋ธ” B์˜ ์ผ์น˜ํ•˜๋Š” ๋ถ€๋ถ„์˜ ๋ ˆ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ํ…Œ์ด๋ธ” A๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™„์ „ํ•œ ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์„ ์ƒ์„ฑ
    โœ”๏ธ ํ…Œ์ด๋ธ” B์— ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ํ•ด๋‹น ๊ฐ’์€ null ๊ฐ’์ด ํ‘œ๊ธฐ
SELECT * FROM table1_name A
LEFT JOIN table2_name B ON
A.key = B.key

๐Ÿ’ก์˜ค๋ฅธ์ชฝ ์กฐ์ธ(right outer join)

์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”(B)์˜ ๋ชจ๋“  ํ–‰์ด ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์— ํ‘œ๊ธฐ

  • ํ…Œ์ด๋ธ” A์—์„œ ์ผ์น˜ํ•˜๋Š” ๋ถ€๋ถ„์˜ ๋ ˆ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ํ…Œ์ด๋ธ” B๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™„์ „ํ•œ ๋ ˆ์ฝ”๋“œ ์ง‘ํ•ฉ์„ ์ƒ์„ฑ
    โœ”๏ธ ํ…Œ์ด๋ธ” A์— ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ํ•ด๋‹น ๊ฐ’์€ null ๊ฐ’์ด ํ‘œ๊ธฐ
SELECT * FROM table1_name A
RIGHT JOIN table2_name B ON
A.key = B.key

๐Ÿ’กํ•ฉ์ง‘ํ•ฉ ์กฐ์ธ(full outer join)

๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ์ธ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š” ํ–‰๊นŒ์ง€ ๋ชจ๋‘ ํ‘œ๊ธฐ

โœ”๏ธ ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด ๋ˆ„๋ฝ๋œ ์ชฝ์— null ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์ถœ๋ ฅ

SELECT * FROM table1_name A
FULL OUTER JOIN table2_name B ON
A.key = B.key

๐Ÿ“™Join์˜ ์›๋ฆฌ

๐Ÿ’ก์ค‘์ฒฉ ๋ฃจํ”„ ์กฐ์ธ(Nested Loop Join)

์ค‘์ฒฉ for๋ฌธ๊ณผ ๊ฐ™์€ ์›๋ฆฌ๋กœ ์กฐ๊ฑด์— ๋งž๋Š” ์กฐ์ธ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋žœ๋ค ์ ‘๊ทผ์— ๋Œ€ํ•œ ๋น„์šฉ์ด ๋งŽ์ด ์ฆ๊ฐ€ -> ๋Œ€์šฉ๋Ÿ‰ ํ…Œ์ด๋ธ”์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ’ก์ •๋ ฌ ๋ณ‘ํ•ฉ ์กฐ์ธ

๊ฐ๊ฐ์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•  ํ•„๋“œ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์ •๋ ฌ์ด ๋๋‚œ ์ดํ›„์— ์กฐ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์กฐ์ธ

  • ์กฐ์ธํ•  ๋•Œ ์“ธ ์ ์ ˆํ•œ ์ธ๋ฑ์Šค๊ฐ€ ์—†๊ณ  ๋Œ€์šฉ๋Ÿ‰์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•  ๋•Œ ์‚ฌ์šฉ
  • ์กฐ์ธ ์กฐ๊ฑด์œผ๋กœ <,> ๋“ฑ ๋ฒ”์œ„ ๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ์„ ๋•Œ ์‚ฌ์šฉ

๐Ÿ’กํ•ด์‹œ ์กฐ์ธ

ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•  ๋•Œ, ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜จ์ „ํžˆ ๋“ค์–ด๊ฐ„๋‹ค๋ฉด ๋ณดํ†ต ์ค‘์ฒฉ ๋ฃจํ”„ ์กฐ์ธ๋ณด๋‹ค ๋” ํšจ์œจ์ ์ด๋‹ค.
  • ๋™๋“ฑ ์กฐ์ธ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  1. ๋นŒ๋“œ ๋‹จ๊ณ„

    • ์ž…๋ ฅ ํ…Œ์ด๋ธ” ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ๋นŒ๋“œํ•˜๋Š” ๋‹จ๊ณ„
    • ์กฐ์ธ์— ์‚ฌ์šฉ๋˜๋Š” ํ•„๋“œ๊ฐ€ ํ•ด์‹œ ํ…Œ์ด๋ธ”์˜ ํ‚ค๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  2. ํ”„๋กœ๋ธŒ ๋‹จ๊ณ„

    • ํ”„๋กœ๋ธŒ ๋‹จ๊ณ„ ๋™์•ˆ ๋ ˆ์ฝ”๋“œ ์ฝ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ, ๊ฐ ๋ ˆ์ฝ”๋“œ์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ์•„์„œ ๊ฒฐ๊ด๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
    • ๊ฐ ํ…Œ์ด๋ธ”์€ ํ•œ๋ฒˆ์”ฉ๋งŒ ์ฝ๊ฒŒ ๋˜์–ด ์ค‘์ฒฉํ•ด์„œ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์ฝ๋Š” ์ค‘์ฒฉ ๋ฃจํ”„ ์กฐ์ธ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€