29.SQL UNION
UNION 연산자는 두 개 이상의 SELECT 명령문의 결과 집합을 결합하는데 사용한다
-각 UNION 문장은 동일한 수의 SELECT 열을 가져야합니다
-열에도 유사한 데이터 유형이 있어야 합니다.
-모든 문장의 SELECT 열도 같은 순서여야 합니다.,
UNION 구문
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 샘플 데이터베이스를 사용할 것입니다.
아래는 Customer 테이블에서 SELECT 한 내용입니다.
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 |
그리고 Supplier 테이블입니다.
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 |
SELECT UNION 예제
다음 SQL 문은 Customers 및 Suppliers 테이블에서 도시(고유한 값만)을 반환합니다
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
참고 : 일부 고객 또는 공급업체가 동일한 도시를 사용하는 경우 각 도시는 한번만 나열됩니다 .
union은 고유한 값만 선택하기 떄문입니다. UNION ALL은 중복값을 선택하는데 사용하세요
UNION ALL 예제
다음 SQL 문은 Customers 와 Suppliers 테이블 모두에서 도시(중복된 값도 포함)을 반환합니다
SELECT City FORM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
WHERE 을 이용한 SQL UNION
다음 SQL 문은 Customers 및 Suppliers 테이블에서 모두 독일 도시 (고유한 값만)을 반환합니다.
SELECT City, Contry FROM Customers
WHERE Country = 'Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country = 'Germanty'
ORDER By City;
SQL UNION ALL With 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 문은 모든 고객의 Suppliers를 나열합니다.
SELECT 'Customer' AS Type , ContactName , City , Country
FROM Customers
UNION
SELECT 'Supplier' , ContactName , City , Country
FROM Suppliers;
위의 "AS type" 을 주목하세요 , 별칭입니다. SQL 별칭은 테이블이나 열에 임시 이름을 지정하는데 사용됩니다.
별칭은 쿼리기간 동안만 존재합니다. 따라서 여기서는 "type" 이라는 임시 열을 생성하여 담당자가 "Customers" 인지 "Supplier" 인지 나열합니다.
'SQL > SQL Tutorial' 카테고리의 다른 글
31.SQL HAVING (0) | 2024.07.29 |
---|---|
30.SQL GROUP BY (0) | 2024.07.25 |
28.SQL SELF JOIN (0) | 2024.07.18 |
27.SQL FULL OUTER JOIN (0) | 2024.07.17 |
26.SQL RIGHT JOIN (0) | 2024.07.16 |