sqlserver Union和SQL Union All使用方法
SQL UNION 操作符
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語句的結(jié)果集。
請(qǐng)注意,UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條 SELECT 語句中的列的順序必須相同。
SQL UNION 語法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注釋:默認(rèn)地,UNION 操作符選取不同的值,即UNION是去了重的。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。
SQL UNION ALL 語法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語句中的列名。
UNION 指令的目的是將兩個(gè) SQL 語句的結(jié)果合并起來。從這個(gè)角度來看, UNION 跟 JOIN 有些許類似,因?yàn)檫@兩個(gè)指令都可以由多個(gè)表格中擷取資料。union只是將兩個(gè)結(jié)果聯(lián)結(jié)起來一起顯示,并不是聯(lián)結(jié)兩個(gè)表………… UNION 的語法如下:
[SQL 語句 1]
UNION
[SQL 語句 2] 假設(shè)我們有以下的兩個(gè)表格,
Store_Information 表格
| |||||||||||||||
Internet Sales 表格
|
而我們要找出來所有有營(yíng)業(yè)額 (sales) 的日子。要達(dá)到這個(gè)目的,我們用以下的 SQL 語句: SELECT Date FROM Store_Information
UNION
SELECT Date FROM Internet_Sales 結(jié)果:
Date |
Jan-05-1999 |
Jan-07-1999 |
Jan-08-1999 |
Jan-10-1999 |
Jan-11-1999 |
Jan-12-1999 |
有一點(diǎn)值得注意的是,如果我們?cè)谌魏我粋€(gè) SQL 語句 (或是兩句都一起) 用 "SELECT DISTINCT Date" 的話,那我們會(huì)得到完全一樣的結(jié)果。
SQL Union All
UNION ALL 這個(gè)指令的目的也是要將兩個(gè) SQL 語句的結(jié)果合并在一起。 UNION ALL 和 UNION 不同之處在于 UNION ALL 會(huì)將每一筆符合條件的資料都列出來,無論資料值有無重復(fù)。 UNION ALL 的語法如下: [SQL 語句 1]
UNION ALL
[SQL 語句 2] 我們用和上一頁(yè)同樣的例子來顯示出 UNION ALL 和 UNION 的不同。同樣假設(shè)我們有以下兩個(gè)表格,
Store_Information 表格
| |||||||||||||||
Internet Sales 表格
|
而我們要找出有店面營(yíng)業(yè)額以及網(wǎng)絡(luò)營(yíng)業(yè)額的日子。要達(dá)到這個(gè)目的,我們用以下的 SQL 語句: SELECT Date FROM Store_Information
UNION ALL
SELECT Date FROM Internet_Sales 結(jié)果:
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 |
eg:
SELECT id,Name,DocPinYin FROM doctor
UNION
SELECT 0 AS id,'無醫(yī)生名' AS Name,'' AS DocPinYin
SELECT id,Name,DocPinYin FROM doctor
結(jié)果集是
故:union將兩個(gè)結(jié)果集合在一起
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。