- 浏览: 484986 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (335)
- VM (2)
- python 基础 (78)
- C (7)
- php (38)
- django (8)
- c++ (1)
- python 服务端编程 (21)
- ubuntu (1)
- linux (26)
- mysql (24)
- 缓存管理 (5)
- nginx (4)
- linux 命令行 (16)
- web (8)
- javascript (8)
- python 模块 (3)
- java (6)
- 面试题 (2)
- tornado (1)
- 运维 (10)
- 网络编程 (0)
- svn (5)
- css (1)
- mongodb (3)
- vim (8)
- infobright (1)
- shell (1)
- 算法 (2)
- redis (1)
最新评论
原文地址:
http://www.cnblogs.com/qiantuwuliang/archive/2009/05/31/1492778.html
(记录合并)union和union all 的区别
在数据库中,union和union all关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
union在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
如:
select * from test_union1
union
select * from test_union2
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。
而union all只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all,如下:
select * from test_union1
union all
select * from test_union2
使用 union 组合查询的结果集有两个最基本的规则:
1。所有查询中的列数和列的顺序必须相同。
2。数据类型必须兼容
http://www.cnblogs.com/qiantuwuliang/archive/2009/05/31/1492778.html
(记录合并)union和union all 的区别
在数据库中,union和union all关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
union在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。
如:
select * from test_union1
union
select * from test_union2
这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。
而union all只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。
从效率上说,union all要比union快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用union all,如下:
select * from test_union1
union all
select * from test_union2
使用 union 组合查询的结果集有两个最基本的规则:
1。所有查询中的列数和列的顺序必须相同。
2。数据类型必须兼容
发表评论
-
mysql中OPTIMIZE TABLE的作用
2014-09-15 13:54 8191、先来看看多次删除插入操作后的表索引情况 mysql&g ... -
mysqld和mysqld_safe 有什么区别
2014-09-10 15:01 775直接运行mysqld程序来启动MySQL服务的方法很少见,my ... -
【转】sql where 1=1和 0=1 的作用
2014-07-24 17:32 777http://www.cnblogs.com/junyuz/ ... -
对mysql explain讲的比较清楚的
2014-06-21 21:10 634http://www.blogjava.net/persis ... -
mysql 查询的时候设置时区
2014-05-14 10:12 972set time_zone = '-8:00'; -
OLTP, OLAP
2014-04-13 11:27 693OLTP :在线事务处理, 如blog ,电子商务,网络游戏 ... -
mysql UNIX时间戳与日期的相互转换
2014-02-25 16:07 692UNIX时间戳转换为日期用函数: FROM_UNIXTIME ... -
linux下MySQL安装及设置
2014-02-20 21:17 890转自:http://www.en ... -
MySQL的Grant命令
2014-02-20 21:16 698转:http://yingxiong.iteye.com/ ... -
mysql中int(10)代表什么意思
2014-02-20 09:48 949int(M) 在 integer 数据类型中,M 表示最大显示 ... -
mysql 客户端乱码
2014-01-22 17:59 780数据库表的编码为utf-8,查询数据库,客户端汉字显示 ... -
linux mysql的安装
2014-01-18 19:23 7711.直接用该命令可以安装Mysql的服务器端跟客户端,后面 ... -
mysqldump备份 直接输入密码
2014-01-16 16:55 802mysqldump备份,一次直接输入密码,-p(大写的P表示 ... -
mysql-devel的包是干什么用的
2013-11-29 11:37 2330主要是供自己写C程序用的头文件和静态链接库,如果不作C开发,可 ... -
【转】Mysql MERGE引擎简介
2013-11-16 00:21 918http://blog.csdn.net/qmhball/a ... -
mysql 备份操作
2013-11-11 16:23 679备份的分类: 1. hot backup 热备份 hotba ... -
mysql 日志文件
2013-11-11 12:05 10511.错误日志文件 该文件记录了mysql启动,运行,关闭过程进 ... -
【转】MySQL体系结构
2013-11-07 18:29 774http://www.cnblogs.com/yjf512/a ... -
数据库索引
2013-09-12 14:51 847索引是一个独立的物理的数据库结构,它是某个表中的一列或者多列 ... -
MySQL 数据类型 详解
2013-09-12 14:21 617数值类型 MySQL 的数值数据类型可以大致划分为 ...
相关推荐
UNION和UNION ALL是数据库中用于合并查询结果集的操作符,它们有一些关键的区别。 UNION操作符将两个或多个SELECT语句的结果集合并为一个结果集,并自动去除其中的重复行。这意味着,如果两个结果集中有相同的行,...
sql语句查询结果合并union all用法_数据库技巧,需要的朋友可以参考下。
很多人都会有一句出结果的习惯,但值得注意的是,不恰当的合并处理语句,往往会产生负面的性能,本文针对使用UNION ALL代替IF语句的合并处理做出一个简单的事例,用来说明这种方法会所带来的负面结果。
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION 语法...
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算...
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算...
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 SQL UNION 语法SELECT...
本文实例讲述了MySQL Union合并查询数据及表别名、字段别名用法。分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0 UNION ALL SELECT s_id, f_name...
UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。
Union 与 Union ALL 的作用都是合并 SELECT 的查询结果集,那么它们有什么不同呢? Union 将查询到的结果集合并后进行重查,将其中相同的行去除。缺点:效率低; 而Union ALL 则只是合并查询的结果集,并不重新查询...
关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 注意: 1.UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同...
union和join是需要联合多...说明一下union 和union all的差别,对于union如果存在相同的数据记录会被合并,而union all不会合并相同的数据记录,该有多少条记录就会有多少条记录。例如在mysql下执行以下语句: select
并集(union,Union all)这个很简单,是把两个结果集水平合并起来。例如SELECT * FROM AUNIONSELECT * FROM B【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而union all则会保留重复行。 2...
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。 语法 UNIONS 基础...
(如果你要将多个表的查询结果进行合并输出比如说 群组消息跟个人消息表是分离的但是想一起提取出来并显示的话就可以如此处理。通过MySQLUNION联合查询出来即可) 列于每个SELECT语句的对应位置的被选择的列应具
1.被集合字段范围小且固定型 灵活性 性能 难度 2.固定表固定字段函数法 灵活性 性能 难度 3.灵活表函数法 灵活性 性能 难度 4.一条SQL法 灵活性
union 联合 合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 UNION 查询语句2 UNION … 应用场景:要查询的结果来自多个表,且多个表之间没有直接的连接关系,但查询的信息相同 特点: 1、要求多条查询...