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" 테이블 모두에서 도시(고유 값만)를 반환합니다.
참고: 일부 고객 또는 공급업체의 도시가 동일한 경우 고유한 값만 선택하기 때문에 각 도시는 한 번만 나열됩니다 UNION. UNION ALL중복 값을 선택하는 데에도 사용하십시오 !
SQL UNION ALL 예
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 도시(중복 값도 있음)를 반환합니다.
WHERE를 사용한 SQL UNION
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 독일 도시(고유 값만)를 반환합니다.
예
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNION ALL with WHERE
다음 SQL 문은 "Customers" 및 "Suppliers" 테이블 모두에서 독일 도시(중복 값도 있음)를 반환합니다.
예
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
다른 UNION 예
다음 SQL 문은 모든 고객 및 공급업체를 나열합니다.
예
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
위의 "AS 유형"에 주목하세요. 별칭입니다. SQL 별칭은 테이블이나 열에 임시 이름을 부여하는 데 사용됩니다. 별칭은 쿼리 기간 동안에만 존재합니다. 따라서 여기서는 담당자가 "고객"인지 "공급자"인지를 나열하는 "유형"이라는 임시 열을 만들었습니다.
'programming > SQL' 카테고리의 다른 글
JSON 데이터 추출하는 방법 (json_extract, json_array 함수 등) (0) | 2023.05.26 |
---|---|
[SQL]17강_GROUP BY (0) | 2023.05.08 |
[SQL]15강_FULL OUTER JOIN (0) | 2023.05.01 |
[SQL]14강_LEFT/RIGHT JOIN (0) | 2023.05.01 |
[SQL]12강_JOINS (SQL의 꽃, LIKE 엑셀의 VLOOKUP) (0) | 2023.05.01 |