UNION 연산자는 두 개 이상의 SELECT 문의 결과 집합을 결합하는 데 사용됩니다.
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2
UNION 연산자는 기본적으로 고유한 값만 선택합니다. 중복 값을 허용하려면 UNION ALL을 사용하세요.
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2
이 튜토리얼에서는 유명한 예제 데이터베이스 "Northwind"을 사용합니다.
다음은 "Customers"("고객") 테이블의 샘플입니다.
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 5021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 5023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
그리고 "Suppliers"("공급업체") 테이블의 샘플은 다음과 같습니다.
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country | Phone |
---|---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | UK | (171) 555-2222 |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA | (100) 555-4822 |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA | (313) 555-5735 |
4 | Tokyo Traders | Yoshi Nagase | 9-8 Sekimai Musashino-shi | Tokyo | 100 | Japan | (03) 3555-5011 |
5 | Cooperativa de Quesos 'Las Cabras' | Antonio del Valle Saavedra | Calle del Rosal 4 | Oviedo | 33007 | Spain | (98) 598 76 54 |
다음 SQL 문은 고객 및 공급업체 테이블에서 도시(다른 값만)를 선택합니다.
Run SQLSELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City
다음 SQL 문은 고객 및 공급업체 테이블 모두에서 도시(중복 값)를 선택합니다.
Run SQLSELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City
다음 SQL 문은 고객 및 공급업체 테이블 모두에서 독일 도시(다른 값만)를 선택합니다.
Run SQLSELECT City, Country FROM Customers
WHERE Country = 'Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country = 'Germany'
ORDER BY City
다음 SQL 문은 고객 및 공급업체 테이블 모두에서 독일 도시(중복 값)를 선택합니다.
Run SQLSELECT City, Country FROM Customers
WHERE Country = 'Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country = 'Germany'
ORDER BY City
다음 SQL 문은 모든 고객과 공급자를 나열합니다.
Run SQLSELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers
위의 "AS Type"은 별칭입니다. SQL 별칭은 테이블이나 열에 임시 이름을 지정하는 데 사용됩니다. 별칭은 요청 기간 동안에만 존재합니다. 따라서 여기서는 연락처가 "고객"인지 "공급업체"인지를 나타내는 "Type"이라는 임시 열을 만들었습니다.