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은 어느 한쪽에서 찾을 수 있는 행들을 반환합니다.

UNIONUNION 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은 중복을 제거하지 않습니다.

MINUSEXCEPT의 동의어입니다.

문법 (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;

더 알아보기 (Learn more)