加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver Union和SQL Union All使用方法

发布时间:2020-12-12 09:30:59 所属栏目:MsSql教程 来源:网络整理
导读:SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有 相同数量 的列。列也必须拥有 相似的数据类型 。同时,每条 SELECT 语句中的列的 顺序 必须相同。 SQL UNION 语法 SELECT column_name(s)

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 ALL

UNION

不同之处在于

UNION ALL

会将每一笔符合条件的资料都列出来,无论资料值有无重复。

UNION ALL

的语法如下:

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

我们用和上一页同样的例子来显示出

UNION ALL

UNION

的不同。同样假设我们有以下两个表格,

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

eg:
代码如下:SELECT id,Name,DocPinYin FROM doctor
UNION
SELECT 0 AS id,'无医生名' AS Name,'' AS DocPinYin
结果集是

SELECT id,DocPinYin FROM doctor

结果集是

故:union将两个结果集合在一起

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

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只是将两个结果联结起来一起显示,并不是联结两个表…………

UNION

的语法如下:

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

假设我们有以下的两个表格,

    推荐文章
      热点阅读