假设我们有一个表 Student, 包括以下字段与数据:
drop table student;
create table student
( id
int primary key,
name nvarchar2(50) not null,
score number not null
);
insert into student values(1,'Aaron',78);
insert into student values(2,'Bill',76);
insert into student values(3,'Cindy',89);
insert into student values(4,'Damon',90);
insert into student values(5,'Ella',73);
insert into student values(6,'Frado',61);
insert into student values(7,'Gill',99);
insert into student values(8,'Hellen',56);
insert into student values(9,'Ivan',93);
insert into student values(10,'Jay',90);
commit;
Union 和 Union All 的区别。
select *
from student
where id < 4
union
select *
from student
where id > 2 and id < 6
结果将是
1 Aaron 78
2 Bill 76
3 Cindy 89
4 Damon 90
5 Ella 73
如果换成 Union All 连接两个结果集, 则返回结果是:
1 Aaron 78
2 Bill 76
3 Cindy 89
3 Cindy 89
4 Damon 90
5 Ella 73
可以看到, Union 和 Union All 的区别之一在于对重复结果的处理。
UNION 在进行表链接后会筛选掉重复的记录, 所以在表链接后会对所产生的结果集进行排
序运算, 删除重复的记录再返回结果。 实际大部分应用中是不会产生重复的记录, 最常见的
是过程表与历史表 UNION。 如:
select * from gc_dfys
union
select * from ls_jg_dfys
这个 SQL 在运行时先取出两个表的结果, 再用排序空间进行排序删除重复的记录, 最
后返回结果集, 如果表数据量大的话可能会导致用磁盘进行排序。

而 UNION ALL 只是简单的将两个结果合并后就返回。 这样, 如果返回的两个结果集中有
重复的数据, 那么返回的结果集就会包含重复的数据了。
从效率上说, UNION ALL 要比 UNION 快很多, 所以, 如果可以确认合并的两个结果集
中不包含重复的数据的话, 那么就使用 UNION ALL,

转载于:https://www.cnblogs.com/zhaideyou/p/5932251.html

union 和 union all 有什么不同?相关推荐

  1. php union all,Union与Union All的区别

    Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并 ...

  2. 关于UNION和UNION ALL的区别

    今天在运行程序的时候发现个问题,就是计算和的时候两条数据一样的话自动去除重复的,可是我这个程序需要重复的数据也算进来呀,然后就找原因,最后在sql语句中找到了是union和union all的问题,简 ...

  3. Union和Union All的区别

    Union和Union All的区别 假设我们有一个表Student,包括以下字段与数据: drop table student;   create table student ( id int pr ...

  4. Union和Union All到底有什么区别

    转自:https://www.cnblogs.com/wen-zi/p/9133754.html 以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面 ...

  5. UNION和UNION ALL有什么区别?

    UNION和UNION ALL什么区别? #1楼 您可以通过运行以下查询来避免重复,并且运行速度仍然比UNION DISTINCT(实际上与UNION相同)快得多: SELECT * FROM myt ...

  6. UNION 与 UNION ALL

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...

  7. sql中union 和 union all的区别

    最近发现一个视图出奇的慢,在生产环境还好,由于服务器配置较高,没有察觉出来.但是做了一次修改后在开发版 和测试版就直接查询不出结果了.就连select count(1) from 都运行2个小时没有结 ...

  8. Oracle中的Union、Union All、Intersect、Minus 使用用法区别

      Oracle中的Union.Union All.Intersect.Minus 众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包 ...

  9. SQL Union 和 Union All 的区别以及二者的性能问题 - 使用Sqlite演示

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

  10. oracle union 类型转换,Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

最新文章

  1. Linux命令之df
  2. 【Python学习笔记】面向对象三大特性
  3. 基于简单工厂模式的计算器程序
  4. 蓝牙配对模式 java_BLE(低功耗蓝牙)配对和绑定
  5. 一切从用户的需求与体验出发
  6. Angular Component的加载触发时机
  7. 如何在 ASP.NET Core 中 使用 功能开关
  8. python 机器学习第一章
  9. java poi读取excel公式,返回计算值(转)
  10. 项目管理九要与八不要
  11. java 注册表 下载_Java修改windows注册表(完全修改)
  12. 根据省份id查询当前的省会/简称/省会城市
  13. 唐太宗灵州受降【会盟】的意义
  14. Dinky 0.6.2 已发布,优化 Flink 应用体验
  15. 微信小程序开发什么工具好?
  16. shields 徽标_创意讲故事徽标的剖析
  17. 遥感基础之全色波段和多光谱
  18. 防百度云加速html,百度云加速3.0轻松应对全球最大DDoS攻击
  19. AttributeError: 'module' object has no attribute 'get_frontal_face_detector'
  20. 30天入门 Android 开发, Google 与你一起圆梦

热门文章

  1. react java编程_快速上手React编程 PDF 下载
  2. 【图像超分辨率论文】BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment
  3. CodeForces-1058B B. Vasya and Cornfield
  4. sqoop实现Mysql、Oracle与hdfs之间数据的互导
  5. 【三分钟讲清区块链/比特币】之二:比特币入门教程
  6. RISC-V,芯片中的网红战斗机,究竟是个什么鬼
  7. 如何在linux(ubuntu)的wine环境下开启source insight的tabsihost(或tabsiplus)
  8. C语言高级编程:sizeof计算数组大小需要注意的问题
  9. gre tunnel源码分析之接收流程
  10. SDCC 2016数据库峰会(深圳站)学习笔记