LanguageManual Union
LanguageManual Union
여러 SELECT 문의 결과를 하나로 합치는 UNION 연산을 다루는 문서예요. UNION ALL은 중복을 그대로 두고, UNION(또는 UNION DISTINCT)은 중복을 제거해서 합칩니다.
출처: 문서
본문
UNION 은 여러 개의 SELECT 문 결과를 하나의 결과 집합으로 합칩니다.
구문:
select_statement UNION [ALL | DISTINCT] select_statement ...
여러 SELECT 문을 연결할 수 있으며, 선택 절은 결과에 적용됩니다.
예제:
SELECT a, b FROM t1
UNION ALL
SELECT c, d FROM t2;
UNION ALL은 모든 행을 유지합니다.UNION(또는UNION DISTINCT) 은 중복 행을 제거합니다.- 기본 동작은 중복을 제거하는
DISTINCT입니다.
열 이름과 타입 결정:
결과 집합의 컬럼 이름과 타입은 첫 번째 SELECT 문을 기준으로 결정됩니다. 따라서 각 SELECT 문의 컬럼 수는 같아야 하며, 타입이 서로 다른 경우 Hive가 공통 타입으로 맞춰 줍니다.
정렬과 제한:
- 결과의 순서는 보장되지 않습니다. 정렬이 필요하면
UNION전체에 대해 마지막에ORDER BY를 사용하세요. ORDER BY나LIMIT를 개별SELECT에 적용하려면 괄호로 감싸야 합니다.
(SELECT a FROM t1 ORDER BY a LIMIT 10)
UNION ALL
(SELECT a FROM t2 ORDER BY a LIMIT 10)
더 알아보기 (Learn more)
- SELECT 문 — 각
SELECT의 자세한 문법을 확인해 보세요. - OrderBy / SortBy — 결과 정렬 방법.