sql union指令

2018年01月20日 10:09 | 2991次浏览

UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN 有些许类似,因为这两个指令都可以由多个表格中提取数据。 UNION 的一个限制是两个 SQL 语句所产生的列需要是同样的数据种类。另外,当我们用 UNION 这个指令时,我们只会看到不同的数据值 (类似 SELECT DISTINCT)。

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

UNION 的语法如下:

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

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

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

SELECT Txn_Date FROM Store_Information
UNION
SELECT Txn_Date FROM Internet_Sales;

结果:

Txn_Date

Jan-05-1999

Jan-07-1999

Jan-08-1999

Jan-10-1999

Jan-11-1999

Jan-12-1999

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

解释:UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程