Oracle sql union all

sql union all这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 sql union all和 sql union不同之处在于 sql union all会将每一次符合条件的数据列出来,无论数据库有无重复。
用法也很简单:
SELECT top 50 FROM StoreData_200903
UNION ALL
SELECT top 50 FROM StoreData_200904
值得注意的是,sql union all的执行效率要比sql union效率要高很多,这是因为,使用sql union需要进行排重,而sql union All 是不需要排重的,这一点非常重要,因为对于一些单纯地使用分表来提高效率的查询,完全可以使用sql union All。

还有,如果使用了union,无论是sql union还是sql union all一定要记住对数据库表加上索引!


注意如果使用like等,正则表达式中可以含有% _ 等简单的模式,不能包含[]等,如果想使用复杂的正则表达式,可以使用regexp_like替换like。

regexp_like是一个条件表达式,并不是一个运算符,不能像like那样使用,要这样:

where regexp_like(ref, '^[1-9]$')


like可以这样用:

where ref like 'abc_1%'

原文:http://blog.csdn.net/hongchangfirst/article/details/34073753

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


你可能感兴趣的:(Oracle sql union all)