(转自:http://www.cnblogs.com/EricaMIN1987_IT/archive/2011/01/20/1940188.html)

UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个SQL语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 UNION只是将两个结果联结起来一起显示,并不是联结两个表。

    假设我们有以下的两个表格:
  Store_Information 表: store_name Sales Date
   Los Angeles $ Jan--
   San Diego $ Jan--
   Los Angeles $ Jan--
   Boston $ Jan--   Internet Sales 表: Date Sales
             Jan-- $
           Jan-- $
             Jan-- $
             Jan-- $ 如果我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句:
SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales 结果:
  Date
  Jan--
  Jan--
  Jan--
  Jan--
  Jan--
  Jan-- UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。 UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和 UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。 如果上述的例子我们只用UNION ALL的话,则结果会是: Date
  Jan--
  Jan--
  Jan--
  Jan--
  Jan--
  Jan--
  Jan--
  Jan-- UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,sql union all的执行效率要比sql union效率要高很多,这是因为,使用sql union需要进行排重,而sql union All 是不需要排重的,这一点非常重要,因为对于一些单纯地使用分表来提高效率的查询,完全可以使用sql union All。

最新文章

  1. Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件)
  2. Linux phpwind论坛的安装
  3. Http错误 404.3-Not Found....或者500.19 Internal Server Error
  4. iOS进阶学习-数据库
  5. php有些系统会报错或提示 Cannot modify header information - headers already sent by
  6. 50道经典的JAVA编程题(31-35)
  7. Android开发UI之ViewPager及PagerAdapter
  8. Hibernate 关于load和get方法区别
  9. 【数位DP】 HDU 4722 Good Numbers
  10. [编织消息框架][netty源码分析]2 eventLoop
  11. 基于Android P系统对selinux相关整理
  12. No suitable servers found (`serverselectiontryonce` set): [Failed connecting to '115.28.161.44:27017': Connection timed out] php mongodb 异常
  13. python 学习 面向对象编程
  14. 删除JavaScript对象中的元素
  15. 解决Python交叉编译后,键盘方向键乱码的问题
  16. sencha touch 在线实战培训 第一期 第八节 (完结)
  17. BFS搜索:POJ No 3669 Meteor Shower
  18. Intelij IDEA 配置Tomcat时找不到 “Application Server”
  19. 《深入浅出WPF》笔记——事件篇
  20. Android系统Recovery模式的工作原理【转】

热门文章

  1. ios 团购分类页面(9宫格)
  2. strrchr函数
  3. JSTL Tag学习笔记(二)之<fmt: />
  4. 模拟登陆115网盘(MFC版)
  5. VCL设计方法概论(自己总结了9条),以及10个值得研究的控件 good
  6. static和const关键字
  7. 《mysql数据库备份小脚本》(转)
  8. Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换
  9. USACO Section 2.4: Fractions to Decimals
  10. nova读取配置文件流程