
在mysql数据库使用UNION 时,会把结果集中重复的记录删掉,也正因为做了去重操作,所以效率相对Union All来讲稍微低一点,使用UNION ALL ,MySQL 会把所有的记录返回,效率高于UNION。本文向大家介绍UNION ALL的使用方法。
一、Union All介绍
对两个结果集进行合并操作,包括重复行数据,不会对两个结果集做任何处理。
使用语法
1 2 3 | SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
|
注意:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
二、使用实例
用union all去除结果后在用distinct排重
1 2 3 4 5 | -- 用union all去除结果后在用distinct排重,执行时间为:5.4秒
select DISTINCT xx.DO_DETAIL_ID from (
select do_detail_id from A
union all
select do_detail_id from B) xx;
|
用union all去除结果后在用group by排重
1 2 3 4 5 | -- 用union all去除结果后在用group by排重,执行时间为:5.69秒
select yy.DO_DETAIL_ID from (
select do_detail_id from A
union all
select do_detail_id from B) yy GROUP BY yy.DO_DETAIL_ID;
|
以上就是mysql中Union All使用方法,希望能对你有所帮助哟~