This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.
Set Operations
Set Operations #
Set Operations are used to combine multiple SELECT
statements into a single result set.
Hive dialect supports the following operations:
- UNION
- INTERSECT
- EXCEPT/MINUS
UNION #
Description #
UNION
/UNION DISTINCT
/UNION ALL
returns the rows that are found in either side.
UNION
and UNION DISTINCT
only returns the distinct rows, while UNION ALL
does not duplicate.
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
returns the rows that are found in both side.
INTERSECT
/INTERSECT DISTINCT
only returns the distinct rows, while INTERSECT ALL
does not duplicate.
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
returns the rows that are found in left side but not in right side.
EXCEPT
/EXCEPT DISTINCT
only returns the distinct rows, while EXCEPT ALL
does not duplicate.
MINUS
is synonym for 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;