UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALL 和UNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。
UNION ALL 的语法如下:
[SQL 语句 1]
UNION ALL
[SQL 语句 2];
我们用和上一页同样的例子来显示出 UNION ALL 和 UNION 的不同。同样假设我们有以下两个表格,
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 |
而我们要找出有店面营业额以及网络营业额的日子。要达到这个目的,我们用以下的 SQL 语句:
SELECT Txn_Date FROM Store_Information
UNION ALL
SELECT Txn_Date FROM Internet_Sales;
UNION ALL
SELECT Txn_Date FROM Internet_Sales;
结果:
Txn_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 |
Linux实测如下:
转载请注明:小刘