`

sql union用法和sql union all用法,sql union效率(摘录)

    博客分类:
  • sql
阅读更多
sql union用法和sql union all用法,sql union效率
1、sql union用法
sql union在查询中可以将两个SQL 语句的结果合并起来。如果这样看的话, UNION 跟 JOIN 是相似的,两个指令都可以由多个表格中撷取资料。
sql union的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。
sql union只是将两个结果联结起来一起显示,并不是联结两个表,sql用法如下:
两个表格, StoreData_200903 表格 StoreData_200904,这两张表格的数据结构是完全一样的,只是存放了不同月份的数据库(注意:这样做是为了能够分表,而且可以按月存档数据),现在需要联合查询,就是从两个表中查询出数据,SQL 语句:
SELECT top 50 FROM StoreData_200903
UNION
SELECT top 50 FROM StoreData_200904
2、sql union all用法
sql union all这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 sql union all和 sql union不同之处在于 sql union all会将每一次符合条件的数据列出来,无论数据库有无重复。
用法也很简单:
SELECT top 50 FROM StoreData_200903
UNION ALL
SELECT top 50 FROM StoreData_200904
值得注意的是,sql union all的执行效率要比sql union效率要高很多,这是因为,使用sql union需要进行排重,而sql union All 是不需要排重的,这一点非常重要,因为对于一些单纯地使用分表来提高效率的查询,完全可以使用sql union All。
还有,如果使用了union,无论是sql union还是sql union all一定要记住对数据库表加上索引!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

在数据库中,union和union all 关键字都是将两个结果集合合并为一个,但这两者从使用和效率上来说都有所不同。

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:

select * from gc_dfys
union
select * from ls_jg_dfys

这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

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

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

select * from gc_dfys
union all
select * from ls_jg_dfys
分享到:
评论

相关推荐

    SQL语句 UNION 和 UNION ALL 使用

    SQL语句 UNION 和 UNION ALL 使用

    union all与order by用法

    UNION ALL 用于合并两个或多个 SELECT 语句的结果集,使用方法是将每个 SELECT 语句用 UNION ALL 连接起来。例如: ```sql SELECT 'china' AS col_1, 'america' AS col_2, 'canada' AS col_3, -1 AS status FROM ...

    sql利用union all行转列

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

    Sql中的UNION ALL

    此资源为.txt文件,里面描述了sql中union all的使用方法和案例,如果需要可以下杂

    MySQL中使用or、in与union all在查询命令下的效率对比

    在MySQL数据库中,进行数据查询时,我们经常需要使用到`OR`、`IN`和`UNION ALL`这些操作符。这些操作符在不同的场景下有不同的效率表现,但并不是像网络上普遍认为的那样,`UNION ALL`总是比`OR`和`IN`更快。实际上...

    sqlserver Union和SQL Union All使用方法

    SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。...如果允许重复的值,请使用 UNION ALL。 SQL UNION ALL 语法SELECT

    sql Union和Union All的使用方法

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

    sqlserver union

    下面我们将深入探讨`UNION`的用法、语法以及其与`UNION ALL`的区别。 ### UNION的基本用法 1. **基本语法**: `UNION`的基本语法结构如下: ```sql SELECT column1, column2, ... FROM table1 UNION SELECT ...

    sql基本用法sql基本用法sql基本用法

    sql基本用法sql基本用法sql基本用法sql基本用法sql基本用法sql基本用法

    SQL语句之Union和Union All的用法

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

    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

    2022年SQL合并查询Union并集运算.pptx

    在本文中,我们将详细介绍 SQL Union 并集运算的基本概念、语法、使用场景和实践案例。 一、SQL Union 并集运算基本概念 SQL Union 并集运算是一种集合操作,用于将两个或多个 SELECT 语句的结果结合在一起,生成...

    SQLTracker监视使用Oracle数据库的应用程序

    SQLTracker是一款专为监视使用Oracle数据库的应用程序设计的工具,尤其在Windows 7和Windows 10 64位操作系统上表现出色。该工具的主要目标是帮助系统管理员、DBA(数据库管理员)以及开发人员更好地理解和优化应用...

    SQLServer SQL经典SQL用法,很多用法提高效率,工具SQL

    本SQL文件是在多年的工作经验中总结后编写的;因为业务复杂的需要;需要我们考虑性能、效率、精简的实现我们的SQL代码;该SQL技巧文档希望对你有很大的帮助。

    sql中as的用法和一些经典的sql语句.doc

    本文总结了一些常用的SQL语句,包括DELETE、TRUNCATE、UPDATE、SELECT、AS用法、LIKE语句、NOT EXISTS语句、UNION语句、INSERT语句和全文索引等。这些语句可以帮助开发者更好地管理数据库和查询数据。

    SQL 语法 SQL 总结 SQL教程

    SQL Union SQL Select Into SQL Create DB SQL Create Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Create Index SQL Drop SQL Alter ...

    Sql中的UNION

    此资源为.txt文件,里面描述了sql中union的用法和案例,如果需要可以下载

    SQL常用命令使用方法

    SQL常用命令使用方法 数据记录筛选 更新数据记录 删除数据记录 添加数据记录

Global site tag (gtag.js) - Google Analytics