(记录合并)union和union all的区别


 

SQL UNION 操作符

  UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

  请注意,UNION内部的SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。

SQL UNION 语法

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用UNION ALL

SQL UNION ALL 语法

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

另外,UNION结果集中的列名总是等于UNION中第一个SELECT语句中的列名。

UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看,UNION跟JOIN有些许类似,因为这两个指令都可以由多个表格中提取资料。UNION只是将两个结果联结起来一起显示,并不是联结两个表。

示例

假设我有两个表

而我们要找出来所有有营业额(sales)的日子。要达到这个目的,我们用以下的SQL语句:

SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales

结果:

有一点值得注意的是,如果我们在任何一个SQL语句(或是两句都一起)用"SELECT DISTINCT Date"的话,那我们会得到完全一样的结果。

 

我们要找出有店面营业额以及网络营业额的日子,要达到这个目的,我们用以下的SQL语句:

SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales

结果:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM