programming/SQL

[SQL]16강_UNION

Jofresh 2023. 5. 1. 15:07
728x90
반응형

SQL UNION 연산자

연산자 UNION는 둘 이상의 명령문의 결과 집합을 결합하는 데 사용됩니다 SELECT .

  • SELECT내의 모든 명령문에는 UNION동일한 수의 열이 있어야 합니다.
  • 열의 데이터 유형도 유사해야 합니다.
  • 모든 명령문의 열도 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 샘플 데이터베이스를 사용합니다.

다음은 "고객" 테이블에서 선택한 항목입니다.

그리고 "공급자" 테이블에서 선택:

 


 

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 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 문은 모든 고객 및 공급업체를 나열합니다.

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
직접 해보기 »

위의 "AS 유형"에 주목하세요. 별칭입니다. SQL 별칭은 테이블이나 열에 임시 이름을 부여하는 데 사용됩니다. 별칭은 쿼리 기간 동안에만 존재합니다. 따라서 여기서는 담당자가 "고객"인지 "공급자"인지를 나열하는 "유형"이라는 임시 열을 만들었습니다.

 

728x90
반응형