본문 바로가기

SQL/SQL Tutorial

29.SQL UNION

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