在mysql数据库使用UNION 时,会把结果集中重复的记录删掉,也正因为做了去重操作,所以效率相对Union All来讲稍微低一点,使用UNION ALL ,MySQL 会把所有的记录返回,效率高于UNION。本文向大家介绍UNION ALL的使用方法。
一、Union All介绍
对两个结果集进行合并操作,包括重复行数据,不会对两个结果集做任何处理。
使用语法
SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2;
注意:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
二、使用实例
用union all去除结果后在用distinct排重
-- 用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排重
-- 用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使用方法,希望能对你有所帮助哟~