UNION 指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看, UNION 跟 JOIN有些许类似,由于这两个指令都能够由多个表格中撷取资料。 UNION 的一个限制是两个 SQL 语句所产生的栏位须要是相同的资料种类。另外,当我们用 UNION 这个指令时,我们仅仅会看到不同的资料值 (类似 SELECT DISTINCT)。
UNION 的语法例如以下:
[SQL 语句 1]
UNION
[SQL 语句 2];
UNION
[SQL 语句 2];
如果我们有下面的两个表格,
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
Internet Sales 表格
Txn_Date | Sales |
07-Jan-1999 | 250 |
10-Jan-1999 | 535 |
11-Jan-1999 | 320 |
12-Jan-1999 | 750 |
而我们要找出来全部有营业额 (Sales) 的日子。要达到这个目的,我们用下面的 SQL 语句:
SELECT Txn_Date FROM Store_Information
UNION
SELECT Txn_Date FROM Internet_Sales;
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 的话,那我们会得到全然一样的结果。
Linux实測结果:
1.创建表
2.插入表记录
3.UNION(并)两个表