Set Operations
Set Operations (집합 연산)
집합 연산(Set Operations)은 여러 SELECT 문을 하나의 결과 집합으로 결합하는 데 사용됩니다. Hive dialect는 다음 연산을 지원합니다:
- UNION
- INTERSECT
- EXCEPT/MINUS
출처: 문서
본문
Set Operations은 여러 SELECT 문을 하나의 결과 집합으로 결합하는 데 사용됩니다. Hive dialect는 다음 연산을 지원합니다:
- UNION
- INTERSECT
- EXCEPT/MINUS
UNION
설명 (Description)
UNION/UNION DISTINCT/UNION ALL은 어느 한쪽에서 찾을 수 있는 행들을 반환합니다.
UNION과 UNION DISTINCT는 중복되지 않은(dinstinct) 행만 반환하는 반면, UNION ALL은 중복을 제거하지 않습니다.
문법 (Syntax)
<query> { UNION [ ALL | DISTINCT ] } <query> [ .. ]
예제 (Examples)
SELECT x, y FROM t1 UNION DISTINCT SELECT x, y FROM t2;
SELECT x, y FROM t1 UNION SELECT x, y FROM t2;
SELECT x, y FROM t1 UNION ALL SELECT x, y FROM t2;
INTERSECT
설명 (Description)
INTERSECT/INTERSECT DISTINCT/INTERSECT ALL은 양쪽 모두에서 찾을 수 있는 행들을 반환합니다.
INTERSECT/INTERSECT DISTINCT는 중복되지 않은 행만 반환하는 반면, INTERSECT ALL은 중복을 제거하지 않습니다.
문법 (Syntax)
<query> { INTERSECT [ ALL | DISTINCT ] } <query> [ .. ]
예제 (Examples)
SELECT x, y FROM t1 INTERSECT DISTINCT SELECT x, y FROM t2;
SELECT x, y FROM t1 INTERSECT SELECT x, y FROM t2;
SELECT x, y FROM t1 INTERSECT ALL SELECT x, y FROM t2;
EXCEPT/MINUS
설명 (Description)
EXCEPT/EXCEPT DISTINCT/EXCEPT ALL은 왼쪽에는 있지만 오른쪽에는 없는 행들을 반환합니다.
EXCEPT/EXCEPT DISTINCT는 중복되지 않은 행만 반환하는 반면, EXCEPT ALL은 중복을 제거하지 않습니다.
MINUS는 EXCEPT의 동의어입니다.
문법 (Syntax)
<query> { EXCEPT [ ALL | DISTINCT ] } <query> [ .. ]
예제 (Examples)
SELECT x, y FROM t1 EXCEPT DISTINCT SELECT x, y FROM t2;
SELECT x, y FROM t1 EXCEPT SELECT x, y FROM t2;
SELECT x, y FROM t1 EXCEPT ALL SELECT x, y FROM t2;