[SQL] ์ง์ ๋ณํฉ: union
union์ select์ ๊ฒฐ๊ณผ๊ฐ์ ๋ณํฉํ ์ ์๊ฒ ํด์ฃผ๋ SQL ๋ฌธ๋ฒ์์๋ค.
ํ
์คํธ ํ๊ฒฝ์ PostgreSQL์ด๋ค.
ํ
์คํธ์ ์ฌ์ฉํ ํ
์ด๋ธ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
์ต๋ํ ๋จ์ํ๊ฒ ๊ตฌ์ฑํ๋ค. ๊ธฐ๋ณธํค์ธ id์ ๋ฌธ์์ด ์ปฌ๋ผ ํ๋๋ฟ์ด๋ค.

๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ ์ด๋ ๊ฒ ๋ฃ์ด๋จ๋ค ๊ฐ์ ํ๋ค.
๊ทธ๋ผ ํ๋ฒ ๋๋ ค๋ณด์.
union ๋ฌธ (union distinct)
union์ ์์ชฝ์ผ๋ก select๋ฌธ์ ๋ฐ์, ๊ทธ ์์ชฝ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉํด์ ๋ฐํํ๋ค.
๋ฌธ๋ฒ์ ๊ฐ๋จํ ํํํ๋ฉด ์๋์ ๊ฐ๋ค. A์ B๊ฐ select ํํ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋ค๋ค.
A union B
A union distinct B
์์ ๋ ํํ์์ ๊ฐ์ ์๋ฏธ๋ค,
union์ ๋ฐ๋ก ๋ญ ๋ถ์ด์ง ์์ผ๋ฉด distinct๊ฐ ์๋์ผ๋ก ๋ถ๊ธฐ ๋๋ฌธ์ด๋ค.
์ผ๋จ ํ
์คํธ๋ฅผ ํด๋ณด์.
๋ง์ฝ ์ด๋ฌํ ์ฟผ๋ฆฌ์

์ ๋ฌํ ์ฟผ๋ฆฌ๋ฅผ

๊ฒฐํฉํ๋ฉด
์ด๋ ๊ฒ ๋๋ ๊ฒ์ด๋ค.
order by id๋ ๊ทธ๋ฅ ๋ณด๊ธฐ ์ข๊ฒ ์ ๋ ฌํ๋ ค๊ณ ๋ฃ์๋ค.
distinct๋ฅผ ๋ฃ์ด๋ ๊ฒฐ๊ณผ๋ ๋๊ฐ๋ค.

๊ทธ๋ฆฌ๊ณ distinct๋ ์ค๋ณต์ ์ ๊ฑฐํ๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค.
๊ทธ๋์ ๋ง์ฝ ์๋์ ๊ฐ์ด, ์ค๋ณต๋ ๊ฒฐ๊ณผ๊ฐ์ด ๋์๋, ๋จ ํ๋์ฉ๋ง ๋ฝํ๊ฒ ๋ง๋ ๋ค.
๋๊ฐ์ ์ ์ฒด๋ชฉ๋ก์ ํฉํ์์๋ ๋๋ฒ์ฉ ๋์ค์ง ์์์ ๋ณผ ์ ์๋ค.
union all๋ฌธ
์ด๊ฑด union distinct์ ๋ค๋ฅด๊ฒ ์ค๋ณต์ด ์์ด๋ ๋ฐฐ์ ํ์ง ์๊ณ ๋ฌด์ํ๊ฒ ํฉ์ณ๋ฒ๋ฆฐ๋ค.
๊ทธ๋์ ์๋์ ๊ฐ์ด ์ค๋ณต๋ ๋ชฉ๋ก์ด ํฌํจ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์๋ค.
๊ทธ๋ ๋ค.
์ฃผ์์
์ฝ๋๋ง ๋ณด๋ฉด ๋๊ฒ ํธํด๋ณด์ด์ง๋ง union์ ์ฌ์ฉ์ด ๊ถ์ฅ๋๋ ๊ธฐ๋ฅ์ด ์๋๋ค.
์คํ๋ ค ์ต๋ํ ์ฐ์ง ์๋ ๊ฒ์ด ์ข๋ค.
์ผ๋จ ์ด๊ฑด, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ด ์ข์ง ์๋ค.
ํ
์ด๋ธ์ ํ๋ฒ ์ ๊ทผํด๋ ๋๋ ๊ฑธ ๋๋ฒ ์ ๊ทผํด์ ํฉ์น๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๊ฑธ ์ฌ์ฉํ ๋ฐ์ select๋ฌธ์ where์ ์ ์ ๋ฌ์๋๊ฑฐ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ ์ผ๋ก ํจ์ฌ ๋ซ๋ค.
์์ธํ ๊ฒ์ ์๋ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์ด ์ข๊ฒ ๋ค.
http://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS8208581587