UNION & UNION ALL

17 May 2013

UNION

	SQL> select 3 from dual union select 4 from dual;

			 3
	----------
			 3
			 4

	SQL> select 3 from dual union select 3 from dual;

			 3
	----------
			 3

UNION ALL

	SQL> select 3 from dual union all select 3 from dual;

			 3
	----------
			 3
			 3

union和union all都是把两组数据放到一起。相当于放到一个结果集里。列数需要相同,不同的要用同类型来占位。比如TO_CHAR(NULL)。区别是union all允许有重复。union会把重复的行去掉。这样使用union的时候就会消耗更多的资源,因为消除重复行的同时,需要进行排序。如果已经预知了结果集不会有重复行,则应该使用union all。


comments powered by Disqus