`

(查询结果合并) union和union all 的使用

 
阅读更多
原文地址:
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。数据类型必须兼容
分享到:
评论

相关推荐

    数据库中union和union all的区别

    UNION和UNION ALL是数据库中用于合并查询结果集的操作符,它们有一些关键的区别。 UNION操作符将两个或多个SELECT语句的结果集合并为一个结果集,并自动去除其中的重复行。这意味着,如果两个结果集中有相同的行,...

    sql 查询结果合并union all用法_数据库技巧

    sql语句查询结果合并union all用法_数据库技巧,需要的朋友可以参考下。

    使用UNION ALL代替IF语句的合并处理案例

    很多人都会有一句出结果的习惯,但值得注意的是,不恰当的合并处理语句,往往会产生负面的性能,本文针对使用UNION ALL代替IF语句的合并处理做出一个简单的事例,用来说明这种方法会所带来的负面结果。

    Mysql联合查询UNION和UNION ALL的使用介绍

    UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION 语法...

    浅析mysql union和union all

    在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算...

    MySQL中UNION与UNION ALL的基本使用方法

    在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算...

    sqlserver Union和SQL Union All使用方法

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

    MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名、字段别名用法。分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0 UNION ALL SELECT s_id, f_name...

    sql Union和Union All的使用方法

    UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。

    Oracle中Union与Union All的区别(适用多个数据库)

    Union 与 Union ALL 的作用都是合并 SELECT 的查询结果集,那么它们有什么不同呢? Union 将查询到的结果集合并后进行重查,将其中相同的行去除。缺点:效率低; 而Union ALL 则只是合并查询的结果集,并不重新查询...

    Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

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

    MySQL中union和join语句使用区别的辨析教程

    union和join是需要联合多...说明一下union 和union all的差别,对于union如果存在相同的数据记录会被合并,而union all不会合并相同的数据记录,该有多少条记录就会有多少条记录。例如在mysql下执行以下语句: select

    深入SQL SERVER合并相关操作Union,Except,Intersect的详解

    并集(union,Union all)这个很简单,是把两个结果集水平合并起来。例如SELECT * FROM AUNIONSELECT * FROM B【注意】union会删除重复值,也就是说A和B中重复的行,最终只会出现一次,而union all则会保留重复行。 2...

    PostgreSQL UNION 操作符

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

    MySQL union 语法代码示例分析

    (如果你要将多个表的查询结果进行合并输出比如说 群组消息跟个人消息表是分离的但是想一起提取出来并显示的话就可以如此处理。通过MySQLUNION联合查询出来即可) 列于每个SELECT语句的对应位置的被选择的列应具

    Oracle 多行记录合并_连接_聚合字符串的几种方法_oracle_脚本之家1

    1.被集合字段范围小且固定型 灵活性 性能 难度 2.固定表固定字段函数法 灵活性 性能 难度 3.灵活表函数法 灵活性 性能 难度 4.一条SQL法 灵活性

    五、MySQL联合查询学习笔记(详解)

    union 联合 合并:将多条查询语句的结果合并成一个结果 语法: 查询语句1 UNION 查询语句2 UNION … 应用场景:要查询的结果来自多个表,且多个表之间没有直接的连接关系,但查询的信息相同 特点: 1、要求多条查询...

Global site tag (gtag.js) - Google Analytics