Ms SQLServer中的Union和Union All的使用方法和區別

Ms SQLServer中的Union和Union All的使用方法和區別

SQL UNION 操做符網絡

UNION 操做符用於合併兩個或多個 SELECT 語句的結果集。ide

請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有類似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。orm

SQL UNION 語法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2it

註釋:默認地,UNION 操做符選取不一樣的值,即UNION是去了重的。若是容許重複的值,請使用 UNION ALL。io

SQL UNION ALL 語法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2table

另外,UNION 結果集中的列名老是等於 UNION 中第一個 SELECT 語句中的列名。form

UNION 指令的目的是將兩個 SQL 語句的結果合併起來。從這個角度來看, UNION 跟 JOIN 有些許相似,由於這兩個指令均可以由多個表格中擷取資料。union只是將兩個結果聯結起來一塊兒顯示,並非聯結兩個表…………
class

UNION 的語法以下:數據類型

 [SQL 語句 1]
UNION
[SQL 語句 2]
假設咱們有如下的兩個表格,語法

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 ALLUNION 不一樣之處在於UNION ALL 會將每一筆符合條件的資料都列出來,不管資料值有無重複。UNION ALL 的語法以下:

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

咱們用和上一頁一樣的例子來顯示出 UNION ALLUNION 的不一樣。一樣假設咱們有如下兩個表格,

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
謝祥選【小宇飛刀(xieyunc)】
相關文章
相關標籤/搜索