본문 바로가기
IT/SQL

SQL UNION 연산문

by Jang HyunWoong 2015. 2. 3.

SQL UNION 은 두개 이상의 SELECT 명령어에서 나온 결과를 합치는 연산문이다. 


생각해야할 점은, UNION은 반드시 컴럼 수가 같아야 한다. 그리고 컬럼의 타입과 순서(Ordering)도 비슷해야 한다. 

SQL UNION Syntax

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

SQL UNION ALL Syntax
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

UNION ALL으로 하게 되면 같은 value 값도 중복되서 나온다. 

예를들어, 

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

City의 이름 순서대로 두 테이블에서 가져온 City 컬럼을 함쳐서 보여준다. 

결과:
City
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern
UNION ALL을 안하면 중복된 데이터는 없다.

같은 예에서 UNION ALL을 붙이 결과는 다음과 같다. 

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

결과:
City
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern
Lisboa
Lisboa
London
London
London
London
London
London

Lisboa, London 등과 같이 중복되는 데이터도 그대로 다 복사해서 보여준다. 




반응형

'IT > SQL' 카테고리의 다른 글

SQL INSERT INTO SELECT 문  (0) 2015.02.03
SQL SELECT INTO 문  (0) 2015.02.03
SQL LEFT JOIN 문  (0) 2015.02.03
SQL Joins  (0) 2015.01.29
SQL BETWEEN  (0) 2015.01.29