SQL - UNION / UNION ALL
UNION / UNION ALLโ
๋ฌธ๋ฒโ
[SELECT sql๋ฌธ 1]
UNION
[SELECT sql๋ฌธ 2]
์ฟผ๋ฆฌ๋ฌธ ์์ 1) ๋์ผํ ํ ์ด๋ธ์ ๋ค๋ฅธ ์กฐ๊ฑด์ ์ฟผ๋ฆฌ 2๊ฐ๋ฅผ ํฉ์ณ์ paging ํด์ผํ๋ ๊ฒฝ์ฐ
SELECT id, name, description FROM book WHERE book.name = '์ฑ
์ด๋ฆ'
UNION
SELECT id, name, description FROM book WHERE book.name = '์ฑ
์ด๋ฆ'
LIMIT 10 OFFSET 0;
2) ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ์ ๋น์ทํ ์นผ๋ผ์ ํฉ์น๋ ๊ฒฝ์ฐ
SELECT book_txn_date FROM book_transaction
UNION
SELECT recent_txn_date AS book_txn_date FROM book
LIMIT 10 OFFSET 0;
ํน์งโ
- 2๊ฐ ์ด์์ SELECT ์ฟผ๋ฆฌ์ ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉ ๋ชฉ์ ์ ์ฐ์ฐ์์ด๋ค.
- ๊ฒฐํฉํ๋ ค๋ ์ฟผ๋ฆฌ๋ฌธ์์ ๋ฆฌํด๋๋ ๋ฐ์ดํฐ๊ฐ ๋์ผํ ๋ฐ์ดํฐ ์ ํ์ด์ด์ผ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
- SELECT DISTINCT์ ์ ์ฌํ๊ฒ UNION์ ์ค๋ณต ๋ฐ์ดํฐ๊ฐ ์ ์ธ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅ ์กฐ๊ฑดโ
- UNION ์ด ๊ฑธ๋ฆฐ ๊ฐ๊ฐ์ SELECT ์ฟผ๋ฆฌ๋ ๊ฐ์ ์์ ์ด์ ์กฐํํด์ผํ๋ค.
- ์ ์ฌํ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค.
- ๊ฐ๊ฐ์ SELECT ์ฟผ๋ฆฌ๋ ์นผ๋ผ์ด ๋์ผํ ์์๋ก ์์ด์ผํ๋ค.
์ฐจ์ด์ โ
- UNION : ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๋ ๊ฒฝ์ฐ ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ธ์ํจ๋ค.
- UNION ALL : ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๋๋ผ๋ ์กฐ๊ฑด์ ์ผ์นํ๋ฉด ๋ชจ๋ ํ์ํ๋ค.