Union 搞的是啥?就是从两个(或者多个)相同的基表来的结果集给union到一起。但是重复行会被union给消除掉。
Union All的时候计算引擎后台的操作是用指针(我猜是指针)直接把两个基表给stack堆叠到一起,内存中的数据不移动。那就不消除重复行。
回过头来看,当你去union要消除重复行的话,重复行要先用排序啥的,那就免不了要把数据给实际的操作下。
所以说union all 比 union更快。
除了UNION和UNION ALL之外,HANA里面还有其他常用的操作符。
1. 一元二元操作符
一元: 增+ 减- 逻辑非NOT
二元:+ - * / 加减乘除 = != < > <= >= 比较 AND,OR 逻辑
2. 字符操作符
II
3. UNION/Union all / intersect/ except
union: 无重复结合两个或多个select语句
UNION all: 重复结合
intersect: 返回select语句中的相同行
except:除去第一个select中的由第二个select确定的值