当前位置: 首页 > news >正文

Union和Union All到底有什么区别

以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证:

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

下面进行简单的测试(因为是测试,所以sql代码写的很简单,没有什么很严格的规范,只是为了理解这两者之间的区别)

严格的标准写法应该先判断数据库是否存在,表是否存在等等约束

第一步,建库:

view plain
  1. CreatedatabaseTest
  2. go
  3. useTest
  4. go


第二步,建表:

view plain
  1. CreatetableTable1
  2. (
  3. idintnotnull,
  4. namevarchar(20)notnull
  5. )
  6. CreatetableTable2
  7. (
  8. idintnotnull,
  9. namevarchar(20)notnull
  10. )

第三步,插入测试数据:

view plain
  1. InsertintoTable1values(1,'姚羽')
  2. InsertintoTable1values(2,'边兵兵')
  3. InsertintoTable1values(3,'袁磊')
  4. InsertintoTable2values(1,'姚羽')
  5. InsertintoTable2values(2,'柳春平')
  6. InsertintoTable2values(3,'张永超')
  7. InsertintoTable2values(4,'刘华健')


第四步,测试开始:

view plain
  1. select*fromTable1
  2. select*fromTable2

执行两个表的查询结果如下


可以很容易的看到,上面插入的测试数据当中,有一条是重复的

那么我们 先看执行union 看看

view plain
  1. select*fromTable1
  2. union
  3. select*fromTable2


再执行union all 看看

view plain
  1. select*fromTable1
  2. unionall
  3. select*fromTable2

相信到此时,应该明白了union 和 union all 的区别了, 我以前也一直没搞清楚,这次看视频,就终于搞清楚了


相关文章:

  • SQL——多行并成一行显示, 以字符串分隔(相当于C#中的join)
  • angular1.5 与 angular5 组件的对比
  • maven搭建ssm框架是使用最新mysql 6.0jar遇到的问题
  • 新旧数据ICD的整合
  • linux-ftp install
  • 总结2011,展望2012
  • [ZJOI 2014]力
  • 不辜负每一个日出——Leo2012寄语
  • 微信小程序笔记
  • 索引以及索引缓冲区
  • Case when用法
  • Opencv 编译
  • Python2.7-copy_reg
  • SQL——STUFF用法
  • 《数据库系统概念》20-恢复系统
  • Debian下无root权限使用Python访问Oracle
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • java取消线程实例
  • Mithril.js 入门介绍
  • Node 版本管理
  • React 快速上手 - 07 前端路由 react-router
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 阿里云Kubernetes容器服务上体验Knative
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 分享一份非常强势的Android面试题
  • 每天10道Java面试题,跟我走,offer有!
  • 前端
  • 探索 JS 中的模块化
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 智能合约开发环境搭建及Hello World合约
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​Spring Boot 分片上传文件
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (30)数组元素和与数字和的绝对差
  • (Ruby)Ubuntu12.04安装Rails环境
  • (windows2012共享文件夹和防火墙设置
  • (论文阅读11/100)Fast R-CNN
  • (四) 虚拟摄像头vivi体验
  • (算法)Game
  • (五)网络优化与超参数选择--九五小庞
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net 调用php,php 调用.net com组件 --
  • .net网站发布-允许更新此预编译站点
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • ::before和::after 常见的用法
  • @ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)
  • [BJDCTF2020]The mystery of ip
  • [C++] Windows中字符串函数的种类