Skip to main content

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์€ ์ค‘๋ณต ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ์™ธ๋œ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅ ์กฐ๊ฑดโ€‹

  1. UNION ์ด ๊ฑธ๋ฆฐ ๊ฐ๊ฐ์˜ SELECT ์ฟผ๋ฆฌ๋Š” ๊ฐ™์€ ์ˆ˜์˜ ์—ด์„ ์กฐํšŒํ•ด์•ผํ•œ๋‹ค.
  2. ์œ ์‚ฌํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค.
  3. ๊ฐ๊ฐ์˜ SELECT ์ฟผ๋ฆฌ๋Š” ์นผ๋Ÿผ์ด ๋™์ผํ•œ ์ˆœ์„œ๋กœ ์žˆ์–ด์•ผํ•œ๋‹ค.

์ฐจ์ด์ โ€‹

  • UNION : ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธ์‹œํ‚จ๋‹ค.
  • UNION ALL : ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต๋˜๋”๋ผ๋„ ์กฐ๊ฑด์— ์ผ์น˜ํ•˜๋ฉด ๋ชจ๋‘ ํ‘œ์‹œํ•œ๋‹ค.