Ms SQLServer中的Union和Union All的使用方法和区别

Ms SQLServer中的Union和Union All的使用方法和区别

SQL UNION 操做符网络

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

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

SQL UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2it

注释:默认地,UNION 操做符选取不一样的值,即UNION是去了重的。若是容许重复的值,请使用 UNION ALL。io

SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2table

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

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许相似,由于这两个指令均可以由多个表格中撷取资料。union只是将两个结果联结起来一块儿显示,并非联结两个表…………
class

UNION 的语法以下:数据类型

 [SQL 语句 1]
UNION
[SQL 语句 2]
假设咱们有如下的两个表格,语法

Store_Information 表格

store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999

Internet Sales 表格

Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750

 

 

 

 

 

 

 

 

 

 

 

 

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

SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales

结果:

Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999

 

 

 

 

 

 

 

有一点值得注意的是,若是咱们在任何一个 SQL 语句 (或是两句都一块儿) 用 "SELECT DISTINCT Date" 的话,那咱们会获得彻底同样的结果。

SQL Union All
UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一块儿。 UNION ALLUNION 不一样之处在于UNION ALL 会将每一笔符合条件的资料都列出来,不管资料值有无重复。UNION ALL 的语法以下:

[SQL 语句 1]
UNION ALL
[SQL 语句 2]

咱们用和上一页一样的例子来显示出 UNION ALLUNION 的不一样。一样假设咱们有如下两个表格,

Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999

Internet Sales 表格

Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750

 

 

 

 

 

 

 

 

 

 

 

 

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

SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales

结果:

Date
Jan-05-1999
Jan-07-1999
Jan-08-1999
Jan-08-1999
Jan-07-1999
Jan-10-1999
Jan-11-1999
Jan-12-1999
谢祥选【小宇飞刀(xieyunc)】
相关文章
相关标签/搜索