UNION 指令的目的是將兩個 SQL 語句的結果合併起來。從這個角度來看, UNIONJOIN 有些許類似,因為這兩個指令都可以由多個表格中擷取資料。 UNION 的一個限制是兩個 SQL 語句所產生的欄位需要是同樣的資料種類。另外,當我們用 UNION 這個指令時,我們只會看到不同的資料值 (類似 SELECT DISTINCT)。

UNION 的語法如下:

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

假設我們有以下的兩個表格,

Store_Information 表格
Store_NameSalesTxn_Date
Los Angeles150005-Jan-1999
San Diego25007-Jan-1999
Los Angeles30008-Jan-1999
Boston70008-Jan-1999

Internet_Sales 表格
Txn_DateSales
07-Jan-1999250
10-Jan-1999535
11-Jan-1999320
12-Jan-1999750

而我們要找出來所有有營業額 (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" 的話,那我們會得到完全一樣的結果。

下一頁:SQL UNION ALL



Copyright © 2017   1keydata.com   版權所有