UNION的使用
union用于聯(lián)合多個select語句的結(jié)果集缠导,合并為一個獨立的結(jié)果集。當(dāng)前只支持UNION ALL(bag union)。不能消除重復(fù)行屁药,每個select語句返回的列的數(shù)量和名字必須一樣寒瓦,否則會拋出語法錯誤情屹。
select_statement UNION ALL select_statement UNION ALL select_statement.....
如果必須對union的結(jié)果集做一些額外的處理,整個語句可以被嵌入在from子句中杂腰。
select * from from(
select_statement
UNION ALL
select_statement
) unionResult
Hive子查詢
子查詢語法
select .... from (subquery) name ...
Hive只在from子句中支持子查詢垃你。子查詢必須給定一個名字,因為每個表在from子句中必須有一個名字喂很。子查詢的查詢列表的列惜颇,必須有唯一的名字。子查詢的查詢列表在外面的查詢是可用的少辣,就向表的列凌摄。子查詢也可以一個UNION查詢表達式,Hive支持任意層次的子查詢漓帅。
示例1:
select col from (
select a+b as col from t1
) t2;
示例2:
select t3.col from(
select a+b as col from t1
UNION ALL
select c+d as col from t2
) as t3;