MySQL:union all与union区别详解

union 是对数据进行并集操作,不包括重复行,同时进行默认排序

Union all 是对数据进行并集操作,包括重复行,不进行排序

举例说明:

创建数据库表:

 

CREATE TABLE `t_demo` (  `id` int(32) NOT NULL,  `name` varchar(255) DEFAULT NULL,  `age` int(2) DEFAULT NULL,  `num` int(3) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

复制此表:

CREATE TABLE `t_demo_copy` (  `id` int(32) NOT NULL,  `name` varchar(255) DEFAULT NULL,  `age` int(2) DEFAULT NULL,  `num` int(3) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

加入数据:

 

INSERT INTO `t_demo` VALUES ('1', '张三', '21', '69');INSERT INTO `t_demo` VALUES ('2', '李四', '22', '98');INSERT INTO `t_demo` VALUES ('3', '王五', '20', '54');INSERT INTO `t_demo` VALUES ('4', '赵甜', '22', '80');INSERT INTO `t_demo_copy` VALUES ('1', '张三', '21', '69');INSERT INTO `t_demo_copy` VALUES ('2', '猪八戒', '22', '98');INSERT INTO `t_demo_copy` VALUES ('3', '王五', '20', '54');INSERT INTO `t_demo_copy` VALUES ('4', '赵甜', '22', '80');INSERT INTO `t_demo_copy` VALUES ('5', '孙悟空', '22', '100');INSERT INTO `t_demo_copy` VALUES ('6', '李四', '24', '99');

MySQL中的UNION

SELECT * FROM t_demoUNIONSELECT * FROM t_demo_copy

查询结果:

 

我们从上面的查询数据可以发现:

UNION在进行表链接后会筛选掉重复的记录,对所产生的结果集进行排序运算,删除重复的记录再返回结果。

MySQL中的UNION ALL

 

 

MySQL中的UNION ALL

SELECT * FROM t_demoUNION ALLSELECT * FROM t_demo_copy

 

查询结果:

 

 

从上面数据我们可以看到:

 

UNION ALL只是简单的将两个结果合并后就返回。如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

 

效率:

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正则表达式小结

正则表达式主要是用来操作字符串的,可以预先定义特定字符以及字符组合,来对字符串进行匹配或从中获取我们想要的字串,从而方便操作。在实际测试项目中,我们主要用来做两件事:第一,用正则表达式来判断给定的…

如何理解Mysql的索引及他们的原理--------二叉查找树和平衡二叉树和B树和B+树

1.索引是什么东西? 索引就是一个数据结构,我们把表中的记录用一个适合高效查找的数据结构来表示,目的就是让查询变得更高效。 2.它到底怎么运作的? 这个问题就说来话长了,且听我慢慢道来: 在mysql中使用…

微信输入法来了,一起来体验一下吧

大家期待已久的微信输入法终于来了,不是内置于微信当中,而是一款独立应用的APP,今天小编带大家来体验一下微信输入,到底好不好用? 目录 1、安装 2、功能介绍 2.1、智能推荐公众号、视频号、小程序等 2.2、可直接发…

python2.6.6安装MySQL-python模块正确方法

Centos6.5 x64 系统python2.6.6安装MySQL-python模块 一、安装前准备 操作系统:centos6.5 x64 安装python和python开发工具   python python-devel 安装mysql-server和mysql开发工具   mysql-server mysql mysql-devel yum -y install mysql-devel libxml2 libx…

猿创征文 | Docker实战:Linux环境安装Tomcat安装步骤

目录 1.官网镜像版本查找 2、拉取tomcat镜像 3. 查看镜像是否下载成功

博客搬家

博客搬家 今天这篇博客只想向大家公布一件事,我的博客要搬家了,确切的说是我要同步我两个博客端的博客,原因主要有二: 我最初在网络上查资料主要看到的两个端有csdn 也有 博客园(我喜欢的一个大神在这)&…

猿创征文 | Docker笔记:Docker网络知识介绍

目录 1、docker网络介绍 2、测试容器和宿主主机的通信 2.1 宿主主机可以ping通 docker0

Zabbix的安装(源码安装)

zabbix3.0完全安装 安装zabbix首先需要安装ltmp(lnmp),这里的t是指tengine(taobao的nginx版本),安装教程见 http://www.ltmp.cc 安装的时候PHP选择5.4版本,因为zabbix3.0需要php5.4以上版本。 安…

WCF 服务端+客户端动态调用

最近在写WCF服务相关代码,把项目中用到的通讯框架做了下整理,以备以后自己记忆。 WCF服务端: 包含契约定义:WCF.Contract、契约实现:WCF.Service 以及宿主主程序:WcfServerHost 本DEMO 为了为了演示&#x…

动态区间第K大

整体二分。 主要需要注意的一点是&#xff0c;对于每个删除操作&#xff0c;若删除操作被算入贡献&#xff0c;则最开始的插入操作也一定会被算入&#xff0c;所以不必担心删除删错。 #include<cstdio> #include<algorithm> #include<cstring> using namesp…

Docker笔记:docker四种网络模式介绍

目录 1、docker网络模式分类 2、bridge 网桥模式 3、host 模式 4、container模式 5、none模式

Elasticsearch之分词器的工作流程

前提 什么是倒排索引&#xff1f; Elasticsearch之分词器的作用 Elasticsearch的分词器的一般工作流程&#xff1a; 1、切分关键词 2、去除停用词 3、对于英文单词&#xff0c;把所有字母转为小写&#xff08;搜索时不区分大小写&#xff09; 后续博客 Elasticsearch之停用词 转…

shell 1

换行符号 ctrlJBackspace ctrlHend-of-file ctrlD 1 背景知识2 入门 第一行 #! 空白符号被略过 可选项 注意此处的初级陷阱p37 shell基本元素 命令与参数 如果使用的使"&"而不是";"&#xff0c;则Shell将在后台执行其前面的命令&#xff1b;意味着&…

微信小程序把玩(二十六)navigator组件

微信小程序把玩&#xff08;二十六&#xff09;navigator组件 原文:微信小程序把玩&#xff08;二十六&#xff09;navigator组件navigator跳转分为两个状态一种是关闭当前页面一种是不关闭当前页面。用redirect属性指定。 主要属性&#xff1a; wxml <navigator url".…