Skip to content

24. UNION


1. UNION Operator

  • UNION 연산자는 두 개 이상의 SELECT 문의 결과 집합을 결합하는 데 사용된다.
  • 모든 SELECT 문에는 열의 수가 동일해야 한다.
  • 모든 열의 데이터 타입은 유사해야 한다.
  • 모든 SELECT 문의 열은 서로 같은 순서여야 한다.


2. Syntax

1) UNION

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


2) UNION ALL

  • UNION 연산자는 기본적으로 고유한 값을 선택한다.
  • 중복값을 허용하려면 UNION ALL을 사용한다.


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


Demo Database

  • 다음은 Northwind 샘플 데이터베이스의 Customers 테이블이다.


001


  • 다음은 Northwind 샘플 데이터베이스의 Suppliers 테이블이다.


002


3. UNION Example

  • 다음은 CustomersSuppliers 테이블에서 도시(고유한 값만)를 반환한다.


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


4. UNION ALL Example

  • 다음은 CustomersSuppliers 테이블에서 도시(중복 값도 포함)를 반환한다.


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


5. UNION With WHERE

  • 다음은 CustomersSuppliers 테이블에서 독일에 있는 도시(고유한 값만)를 반환한다.


SELECT City, Country FROM Customers
WHERE Country = 'Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country = 'Germany'
ORDER BY City;


6. UNION ALL With WHERE

  • 다음은 CustomersSuppliers 테이블에서 독일에 있는 도시(중복 값도 포함)를 반환한다.


SELECT City, Country FROM Customers
WHERE Country = 'Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country = 'Germany'
ORDER BY City;


7. Another UNION Example

  • 다음은 모든 고객과 공급업체를 나열한다.


SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

References