一、结果集允许重复的话,尽量用 union all 代替 union

【union】不管检索结果有没有重复,都会尝试进行合并,然后在输出最终结果前进行排序、过滤操作,增加大量的 CPU 运算,加大资源消耗及延迟。
【union all】不去重,效率高于 union。当然,union all 的前提条件是两个结果集没有重复数据。或者如果结果集允许重复的话,尽量使用 union all 代替 union 。

二、合并(union all) 两个表并计算表中某个字段的总和

假如表中数据如上表格,查询 a=‘01’ 时 b,c 两个字段的总和,sql语句如下:

select a,sum(b),sum(c) from (
select a,b,c from t1 where a='01'
union all
select a,b,c from t2 where a='01'
) d
group by a;

union all 和 union相关推荐

  1. 关于UNION ALL与 UNION 用法和区别

    (转自:http://www.cnblogs.com/EricaMIN1987_IT/archive/2011/01/20/1940188.html) UNION指令的目的是将两个SQL语句的结果合并 ...

  2. MongoDB查询实现 笛卡尔积,Union All 和Union 功能

    转载自   MongoDB查询实现 笛卡尔积,Union All 和Union 功能 此篇文章及以后的文章大部分都是从聚合管道(aggregation pipeline)的一些语法为基础讲解的,如果不 ...

  3. UNION ALL vs UNION

    UNION ALL vs UNION 一直没意识到它们之间的区别,只知道UNION ALL在性能上优于UNION,忽略一个很重要的区别: UNION会去掉重复的行,而UNION ALL是包括所有行. ...

  4. UNION ALL用法 以及 UNION ALL和UNION的区别

    部分参考自文章: https://blog.csdn.net/a200822146085/article/details/119545374(CC 4.0 BY-SA版权协议)CSDN「我心依依旧」 ...

  5. UNION ALL 和 UNION 的区别

    UNION ALL 和 UNION 的区别 UNION:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序. UNION ALL:对两个结果集进行并集操作,包括重复行,不进行排序.

  6. union all和union的区别

    union all和union的区别就在于成效,union是在针对数据进行合并整理的同时不会整理重复行,并且还会采取默认排序.而union all在整理数据的时候,会将重复行也一起整理,但是不会重新排 ...

  7. mybatis中union all与union的用法

    1.需求分析 很多情况下,我们会遇到类似的需求:混合型的列表再进行分类:这种情况,可以考虑java逻辑层面两个甚至更多的list相加,然后最后进行排序,但是一旦进行分页,排序可能就混乱了,这个笔者建议 ...

  8. mysql union order_MySQL中union和order by同时使用的实现方法

    MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明.首先看下面的t1表. 1.如果直接用如下sql语句是会报错:Incorrect usage ...

  9. mysql union group by_Mysql UNION和GROUP BY

    我有2个表需要根据日期和2值加在一起. 这给了我所有信息的清单 – 罚款. $query = (SELECT date, debit, credit , note FROM proj3_cash ) ...

最新文章

  1. linux find 忽略大小写查找文件
  2. js模版引擎handlebars.js实用教程——为什么选择Handlebars.js
  3. Loading class `com.mysql.jdbc.Driver'. This is deprecated警告处理
  4. Android:页面跳转传参方式一,页面跳转传参方式二
  5. Python入门100题 | 第039题
  6. 抽象类(c++细节篇九)
  7. Linux 串口编程三 使用termios与API进行串口程序开发
  8. 如何在php中插入map热点,php中关于Map热点的运用
  9. 去中心化云存储聚合器ColdStack S3 API开启私人Beta版测试
  10. rpm安装mysql5.6.37_MySQL之—RPM方式安装MySQL5.6 代码实例详解
  11. 完全揭秘***利用漏洞***电子邮件系统
  12. 图解FPGrowth 算法
  13. lpush rpush 区别_Redis系列(六):数据结构List双向链表LPUSH、LPOP、RPUSH、RPOP、LLEN命令...
  14. 如何当好一个师长之软件开发篇
  15. 大学计算机云计算与虚拟服务实验,虚拟化与云计算实验报告.doc.pdf
  16. H5通过数据流方式播放视频
  17. Alacritty主题配置
  18. mysqldatareader什么意思_MySqlDataReader
  19. 5.字符串:aa:zhangsan@163.com!bb:lisi@sina.com!cc:wangwu@126.com 将存入hashMap中 key:aa,bb,cc value:zhang
  20. windows7/windows2008修改远程桌面连接并修改防火墙配置脚本

热门文章

  1. 实况足球8在window2003下不能游戏的解决方法
  2. linux系统 清屏命令,【转】linux清屏的几种方法
  3. 不能定义声明dllimport_c语言 不允许 dllimport 函数 的定义 怎么办
  4. python写四则运算器_python 简易四则运算计算器
  5. 关于僵死进程的产生原因以及解决方案
  6. UpdatePanel的简单用法(1)
  7. updatepanel失效怎么办_使用updatepanel后,javascript失效的解决办法
  8. Windows Update 错误 80072ee2
  9. 日本感动我的几个瞬间
  10. MS SQL 数据库出现损坏(可疑)的修复方法