Database

์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž( SET operator )

___l_i_ * 2021. 2. 23. 12:32

 

๋“ค์–ด๊ฐ€๊ธฐ ์ „์—

์šฉ์–ด๊ฐ€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค๋ฉด?

๐Ÿ‘‰๐Ÿป ํŽ˜์ด์ง€์ฒจ๋ถ€

 

 

์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

UNION, UNION ALL, INTERSECT, MINUS

 

  • ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž์—๋Š” ํ•ฉ์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋‹ค.
  • ์ง‘ํ•ฉ์—ฐ์‚ฐ์ž์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”(๋ฆด๋ ˆ์ด์…˜)์€ ํ•ฉ์ง‘ํ•ฉ ํ˜ธํ™˜(union compatible)์ด์–ด์•ผ ํ•œ๋‹ค.
    ๋‘ ๋ฆด๋ ˆ์ด์…˜ R1(A1, A2, ... An)๊ณผ R2(B1, B2, ... Bm)์ด ํ•ฉ์ง‘ํ•ฉ ํ˜ธํ™˜์ผ ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด์€ n=m์ด๊ณ , ๋ชจ๋“  1≤i≤n์— ๋Œ€ํ•ด domain(Ai) = domain(Bi)์ด๋‹ค.
    = ์ง‘ํ•ฉ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ์นผ๋Ÿผ๋ช…์€ ๋‹ฌ๋ผ๋„ ์ƒ๊ด€์—†์œผ๋‚˜ ์ฐจ์ˆ˜์™€ ๋„๋ฉ”์ธ์ด ๋™์ผ ํ•ด์•ผ ํ•œ๋‹ค.
    ์ˆซ์ž์™€ ๋ฌธ์ž์—ด์„ ์ง‘ํ•ฉ ์—ฐ์‚ฐํ•  ์ˆœ ์—†๋‹ค!

 

๐Ÿ“Œ UNION: ∪ ํ•ฉ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ํ•ฉ์ง‘ํ•ฉ R∪S๋Š” R ๋˜๋Š” S์— ์žˆ๊ฑฐ๋‚˜ R๊ณผ S ๋ชจ๋‘์— ์†ํ•œ ํŠœํ”Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜

 

  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ ์ด๋ฆ„๋“ค์€ R ๋˜๋Š” S์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์˜ ์ด๋ฆ„์„ ๋”ฐ๋ฅธ๋‹ค.
  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ค‘๋ณต๋œ ํŠœํ”Œ์€ ์ œ์™ธ๋œ๋‹ค.

 

UNION์€ ์„ธ๋ถ€์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ๋ช…๋ น์–ด๋กœ ๋‚˜๋‰œ๋‹ค. (์ข€ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๐Ÿ‘‰๐Ÿป [SQL] Union๊ณผ Union all ์ฐจ์ด )

 

  1. UNION
    UNION DISTINCT์˜ ์ค„์ž…์œผ๋กœ์จ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

  2. UNION ALL
    ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜์ง€ ์•Š์€ ํ•ฉ์ง‘ํ•ฉ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

๐Ÿ“Œ INTERSECT: ∩ ๊ต์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ๊ต์ง‘ํ•ฉ R∩S๋Š” R๊ณผ S ๋ชจ๋‘์— ์†ํ•œ ํŠœํ”Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜

 

  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ ์ด๋ฆ„๋“ค์€ R ๋˜๋Š” S์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์˜ ์ด๋ฆ„์„ ๋”ฐ๋ฅธ๋‹ค.
  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜๋Š” R ๋˜๋Š” S์˜ ์ฐจ์ˆ˜์™€ ๊ฐ™๋‹ค.
  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ์• ํŠธ๋ฆฌ๋ทฐํŠธ ๋ช…์ด ๊ธฐ์žฌ ๋œ ๋นˆ ํ…Œ์ด๋ธ”๋งŒ ๋‚˜์˜จ๋‹ค.

 

๐Ÿ“Œ MINUS:๏ผ์ฐจ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ง‘ํ•ฉ R๏ผS๋Š” R์—๋Š” ์†ํ•˜์ง€๋งŒ S์—๋Š” ์†ํ•˜์ง€ ์•Š๋Š” ํŠœํ”Œ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜

 

  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ ์ด๋ฆ„๋“ค์€ R ๋˜๋Š” S์˜ ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์˜ ์ด๋ฆ„์„ ๋”ฐ๋ฅธ๋‹ค.
  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜๋Š” R ๋˜๋Š” S์˜ ์ฐจ์ˆ˜์™€ ๊ฐ™๋‹ค.

 

๐Ÿ“Œ × ์นดํ‹ฐ์…˜ ๊ณฑ ์—ฐ์‚ฐ์ž

๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ํŠœํ”Œ๋“ค์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜

์•ž์„œ ์„ค๋ช…ํ•œ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž๋“ค๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ฐจ์ˆ˜๊ฐ€ ์ƒ๊ด€ ์—†์œผ๋ฉฐ, ๋„๋ฉ”์ธ์ด ๋‹ฌ๋ผ๋„ ๋œ๋‹ค. (๊ทธ๋ƒฅ ๋‘๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜๋งŒ ์žˆ์œผ๋ฉด ์—ฐ์‚ฐ ๊ฐ€๋Šฅ)

 

  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ํด ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ์›ํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค.
    = ์นดํ‹ฐ์…˜ ๊ณฑ ์ž์ฒด๋Š” ์œ ์šฉํ•œ ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ์• ํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ๋‘ ๋ฆด๋ ˆ์ด์…˜์— ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ด๋Ÿฐ ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์• ํŠธ๋ฆฌ๋ทฐํŠธ ์ด๋ฆ„ ์•ž์— ๋ฆด๋ ˆ์ด์…˜ ์ด๋ฆ„์„ ๋ถ™์ธ๋‹ค.

 

์นด๋””๋‚ ๋ฆฌํ‹ฐ๊ฐ€ i์ธ ๋ฆด๋ ˆ์ด์…˜ R(A1, A2, ... An)๊ณผ ์นด๋””๋‚ ๋ฆฌํ‹ฐ๊ฐ€ j์ธ ๋ฆด๋ ˆ์ด์…˜ S(B1, B2, ... Bm)์˜ ์นดํ‹ฐ์…ฅ ๊ณฑ์˜

  • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜๋Š” n + m ์ด๋ฉฐ ์นด๋””๋‚ ๋ฆฌํ‹ฐ๋Š” i * j ์ด๋‹ค.
  • ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋Š” (A1, A2, ... An, B1, B2, ... Bm)์ด ๋œ๋‹ค.