`

SQL语句中Union和Union all的区别

阅读更多

在数据库中,unionunion 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。数据类型必须兼容

 



 

 

0
3
分享到:
评论

相关推荐

    SQL语句 UNION 和 UNION ALL 使用

    SQL语句 UNION 和 UNION ALL 使用

    SQL语句中UNION子句的使用.pdf

    SQL语句中UNION子句的使用.pdf

    SQL语句之Union和Union All的用法

    本文主要讲解SQL语句之Union和Union All的用法,比较实用,希望能给大家做一个参考。

    sql利用union all行转列

    sql利用union all行转列 利用最原始的方法进行行转列 简单明了

    Sql 语句详解

    20. SQL UNION 和 UNION ALL 操作符 26 21. SQL SELECT INTO 语句 28 22. SQL CREATE DATABASE 语句 29 23. SQL CREATE TABLE 语句 29 24. SQL 约束 (Constraints) 30 25. SQL NOT NULL 约束 31 ……

    sql语句生成器+支持各大数据库+说明书

    SQL语句生成器的特色 支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland Paradox、 中型数据库:Microsoft Access 大型数据库:Microsoft SQL Server、Sybase、Oracle ...

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。。。。 充储过程--sql0.sql 分割字符串.txt 分布式查询.txt 分组排列进行更新.txt 别名.txt 动态SQL语句.txt ...unionall.txt

    SQL语句生成及分析器

    无论多么复杂的语句,都能分析出来(包括SQL各子句中嵌套的SQL语句) 5、数据库视图定义和重建 6、支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 7、附属工具内嵌入Delphi IDE(支持Delphi 5和...

    经典SQL语句大全

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

    sqlserver Union和SQL Union All使用方法

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

    SQL.rar_union

    对sql语句中的union和union all的区别,连接查询嵌套查询分组查询做了简要介绍。

    SQL语句自动生成器简体中文版

    支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox ...对于Oracle 支持Union All,Minus,Intersect) <br>支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 附属工具内嵌入Delphi IDE

    SQL语句自动生成工具

    支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox DBF...对于Oracle 支持Union All,Minus,Intersect) <br>支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 附属工具内嵌入Delphi IDE

    SQL语句生成及分析器(中文绿色)

    3.8 联合 (Union [All],Minus,Intersect) 3.9 字段别名,数据表别名 3.10 SQL子查询表,内嵌SQL子句 4、粘贴字段、系统函数 5、SQL查询语句反向分析, 无论多么复杂的语句,都能分析得出来 包括上面提到...

    sql语句格式化小工具

    sqlserver没有格式化sql语句的工具,自己做一个简单的,便于阅读大段的sql语句,增加了对Union的处理

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

    关于SQL UNION 操作符 UNION 操作符用于合并... SQL UNION 语法(结果集没有重复值): 代码如下: SELECT s FROM table1 UNION SELECT s FROM table2 SQL UNION ALL 语法(结果集有重复的值): 代码如下: SELECT s FRO

    sql Union和Union All的使用方法

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

    复习笔记SQL34句

    SQL语句(18) UNION ALL 6 SQL语句(19) INTERSECT 7 SQL语句(20) MINUS 7 SQL语句(21) Concatenate 8 SQL语句(22) Substring 8 SQL语句(23) TRIM 9 SQL语句(24) Create Table 9 SQL语句(25) Create View 9 SQL语句(26...

Global site tag (gtag.js) - Google Analytics