๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์ž๊ฒฉ์ฆ๐Ÿชช/SQLD

Join

by @ENFJ 2023. 10. 30.

 

SQL Join ๋ฌธ๋ฒ•

> join ์›ํ•˜๋Š” ํ…Œ์ด๋ธ” as ์•ฝ์นญ on ๊ธฐ์ค€1-= ๊ธฐ์ค€2

- ๊ธฐ์ค€ 1๊ณผ ๊ธฐ์ค€2๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋„ ๋™์ผํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ.

- bigquery์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅด๋ฉด join ์‹œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

1. INNER JOIN ( == JOIN )

๋‘ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•  ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”  ๊ฒƒ์ด ๋‚ด๋ถ€ ์กฐ์ธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์กฐ์ธ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋ฉด ๋‚ด๋ถ€ ์กฐ์ธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 join == inner join : ๊ต์ง‘ํ•ฉ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋…

๋‚ด๋ถ€ ์กฐ์ธ์€ ๋‘ ํ…Œ์ด๋ธ”์— ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด์•ผ๋งŒ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

 

2. OUTER JOIN 

        ใ„ด OUTER JOIN์˜ ์ข…๋ฅ˜

  • LEFT OUTER JOIN: ์™ผ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ์กฐ์ธ
  • RIGHT OUTER JOIN: ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ์กฐ์ธ
  • FULL OUTER JOIN: ์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ์กฐ์ธ

 

์™ธ๋ถ€ ์กฐ์ธ์€ ํ•œ์ชฝ์—๋งŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์–ด๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

 

LEFT OUTER JOIN

  • FROM "Table"์— ์ดˆ์ ์„ ๋งž์ถ˜ Join์ด๋‹ค. 

 

  • ๊ฒฐ๊ณผ ์„ค๋ช…
    • A์— ํ•ด๋‹นํ•˜๋Š” ๋™๋ฌผ๋“ค์€ ๋ชจ๋‘ ํ˜ธ์ถœ ๋˜์—ˆ๋‹ค. 
    • B์—์„œ๋Š” A์™€ ๋™์ผํ•œ ์ข…์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ˜ธ์ถœ ๋˜์—ˆ๋‹ค. 
    • B์—์„œ๋Š” Elephant์™€ Mouse๊ฐ€ ์—†๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 
    • ์‹ค๋ฌด ์˜ˆ์‹œ: ์‹ ๋ฐœ์„ ๊ตฌ๋งคํ•œ ์‚ฌ๋žŒ๋“ค ์ค‘ ํ‹ฐ์…”์ธ ๋ฅผ ๋™์‹œ์— ์‚ฐ ์‚ฌ๋žŒ๋“ค๊ณผ ์•„๋‹Œ ์‚ฌ๋žŒ์„ ๊ตฌ๋ถ„ํ•ด์„œ ๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ