3 回答

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
UNION 指令的目的是將兩個(gè) SQL 語(yǔ)句的結(jié)果合并起來(lái)。從這個(gè)角度來(lái)看, UNION 跟 JOIN 有些許類(lèi)似,因?yàn)檫@兩個(gè)指令都可以由多個(gè)表格中擷取資料。 UNION 的一個(gè)限制是兩個(gè) SQL 語(yǔ)句所產(chǎn)生的欄位需要是同樣的資料種類(lèi)。另外,當(dāng)我們用 UNION這個(gè)指令時(shí),我們只會(huì)看到不同的資料值 (類(lèi)似 SELECT DISTINCT)。
UNION 的語(yǔ)法如下:
[SQL 語(yǔ)句 1]
UNION
[SQL 語(yǔ)句 2]
假設(shè)我們有以下的兩個(gè)表格,
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
而我們要找出來(lái)所有有營(yíng)業(yè)額 (sales) 的日子。要達(dá)到這個(gè)目的,我們用以下的 SQL 語(yǔ)句:
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 語(yǔ)句 (或是兩句都一起) 用 "SELECT DISTINCT Date" 的話,那我們會(huì)得到完全一樣的結(jié)果。

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
名字可以不一樣。但是,數(shù)據(jù)類(lèi)型必須相似。
也就是說(shuō)主表(第一個(gè)表)第一列是varchar(100),副表(第一個(gè)以外的所有表)的第一列都要是varchar(100&&<100)(char好像也可以你試一下吧,或是可以自動(dòng)轉(zhuǎn)換數(shù)據(jù)類(lèi)型),其它是不行的
還有幾個(gè)表的列數(shù)必須相同

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用union主要注意兩表字段數(shù)量相等,相應(yīng)的字段類(lèi)型應(yīng)該也應(yīng)該一致。
- 3 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)