MySQL 유니온 연산자
MySQL UNION 연산자
연산자는 두 UNION
개 이상의
SELECT
문의 결과 집합을 결합하는 데 사용됩니다.
- 안의 모든
SELECT
명령문UNION
에는 동일한 수의 열이 있어야 합니다. - 열에도 유사한 데이터 유형이 있어야 합니다.
- 모든 문의 열도
SELECT
같은 순서로 있어야 합니다.
유니온 구문
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION ALL 구문
연산자 는 UNION
기본적으로 고유한 값만 선택합니다. 중복 값을 허용하려면 다음을 사용 UNION ALL
하십시오.
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
참고: 결과 집합의 열 이름은 일반적으로 첫 번째 SELECT
명령문의 열 이름과 같습니다.
데모 데이터베이스
이 자습서에서는 잘 알려진 Northwind 샘플 데이터베이스를 사용합니다.
아래는 "고객" 테이블에서 선택한 항목입니다.
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. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
그리고 "공급자" 테이블에서 선택:
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
SQL UNION 예
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 도시(고유한 값만)를 반환합니다.
예시
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
참고:UNION
일부 고객 또는 공급업체에 동일한 도시가 있는 경우 고유한 값만 선택 하기 때문에 각 도시는 한 번만 나열 됩니다. UNION ALL
중복 값을 선택하는 데도 사용하십시오
!
SQL UNION ALL 예
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 도시(중복 값도 포함)를 반환합니다.
예시
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
WHERE와 SQL UNION
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 독일 도시(고유한 값만)를 반환합니다.
예시
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNION ALL WHERE
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 독일 도시(중복 값도 포함)를 반환합니다.
예시
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
또 다른 UNION 예
다음 SQL 문은 모든 고객과 공급업체를 나열합니다.
예시
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
위의 "AS 유형"에 주목하십시오. 이는 별칭입니다. SQL 별칭 은 테이블이나 열에 임시 이름을 지정하는 데 사용됩니다. 별칭은 쿼리 기간 동안에만 존재합니다. 그래서 여기에 담당자가 "고객"인지 "공급업체"인지를 나열하는 "유형"이라는 임시 열을 만들었습니다.