์งํฉ ์ฐ์ฐ์( SET operator )
๋ค์ด๊ฐ๊ธฐ ์ ์
์ฉ์ด๊ฐ ํท๊ฐ๋ฆฐ๋ค๋ฉด?
๐๐ป ํ์ด์ง์ฒจ๋ถ
์งํฉ ์ฐ์ฐ์
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 ์ฐจ์ด )
- UNION
UNION DISTINCT์ ์ค์ ์ผ๋ก์จ ์ค๋ณต์ ์ ๊ฑฐํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. - 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)์ด ๋๋ค.