728x90
SQL UNION 연산문
SQL UNION 은 두개 이상의 SELECT 명령어에서 나온 결과를 합치는 연산문이다.
생각해야할 점은, UNION은 반드시 컴럼 수가 같아야 한다. 그리고 컬럼의 타입과 순서(Ordering)도 비슷해야 한다.
SQL UNION Syntax
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
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
SELECT column_name(s) FROM table2;
UNION ALL으로 하게 되면 같은 value 값도 중복되서 나온다.
예를들어,
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
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;
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 등과 같이 중복되는 데이터도 그대로 다 복사해서 보여준다.
'my_lesson > _SQL' 카테고리의 다른 글
SQL - JOIN (0) | 2016.02.25 |
---|---|
SQL - LEFT JOIN (0) | 2016.02.25 |
SQL - DROP (0) | 2016.02.25 |
SQL - CREATE INDEX (0) | 2016.02.25 |
SQL - CREATE (0) | 2016.02.25 |
댓글