『壹』 sql中 union問題
UNION 指令的目的是將兩個 SQL 語句的結果合並起來。從這個角度來看, UNION 跟 JOIN 有些許類似,因為這兩個指令都可以由多個表格中擷取資料。 UNION 的一個限制是兩個 SQL 語句所產生的欄位需要是同樣的資料種類。另外,當我們用 UNION這個指令時,我們只會看到不同的資料值 (類似 SELECT DISTINCT)。
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 server 中union的用法
select * from student 專業='計算機'
union
select * from student 專業='英語'
--上面這個命令中的union表示將兩個select查詢結果合並。
『叄』 SQL中union 關鍵字的使用方法是詳細...!
摟主你好,使用UNION是將多個查詢結果合並起來,形成一個完整的查詢結果時,系統會自動去重復的元組,但需要注意的是,參加Union操作的各數據項數目必須相同;對應項的數據類型也必須相同。
『肆』 sql server 中union的用法
工具/原料
SQL SERVER 2014 電腦
方法/步驟
1、首先來准備兩個select查詢,分別查詢一個表。
『伍』 SQl語句的union問題
你想像的是什麼樣的?
看一下幫助吧:
UNION 運算符
將兩個或更多查詢的結果組合為單個結果集,該結果集包含聯合查詢中的所有查詢的全部行。這與使用聯接組合兩個表中的列不同。
使用 UNION 組合兩個查詢的結果集的兩個基本規則是:
所有查詢中的列數和列的順序必須相同。
數據類型必須兼容。
語法
{ < query specification > | ( < query expression > ) }
UNION [ ALL ]
< query specification | ( < query expression > )
[ UNION [ ALL ] < query specification | ( < query expression > )
[ ...n ] ]
參數
< query_specification > | ( < query_expression > )
是查詢規范或查詢表達式,用以返回與另一個查詢規范或查詢表達式所返回的數據組合的數據。作為 UNION 運算一部分的列定義可以不相同,但它們必須通過隱性轉換實現兼容。
下表說明數據類型與相應 (ith) 列的選項的比較規則。
ith 列的數據類型 結果表中 ith 列的數據類型
非數據兼容類型(數據轉換不由 Microsoft® SQL Server™ 隱性處理)。 SQL Server 返回的錯誤。
長度為 L1 和 L2 的固定長度 char。 長度與 L1 和 L2 中較長的那個相等的固定長度 char。
長度為 L1 和 L2 的固定長度 binary。 長度與 L1 和 L2 中較長的那個相等的固定長度 binary。
任一列或兩列都是可變長度 char。 長度與為 ith 列指定的最大長度相等的可變長度 char。
任一列或兩列都是可變長度 binary。 長度與為 ith 列指定的最大長度相等的可變長度 binary。
兩列都是數字數據類型(如 smallint、int、float、money)。 與兩列的最大精度相等的數據類型。例如,如果表 A 的 ith 列是 int 類型,表 B 的 ith 列是 float 類型,則 ith 列在結果表中的數據類型是 float,因為 float 比 int 更精確。
兩列的描述都指定 NOT NULL。 指定 NOT NULL。
UNION
指定組合多個結果集並將其作為單個結果集返回。
ALL
在結果中包含所有的行,包括重復行。如果沒有指定,則刪除重復行。
『陸』 sql語句中的 union 有問題 求解釋
select top 2 * from
(select s.*,score,cname from student s
inner join sc on sc.s#= s.s# and sc.c#='01'
inner join course on sc.c# = course.c#) aa
union all
select top 2 * from
(select s.*,score,cname from student s
inner join sc on sc.s#= s.s# and sc.c#='02'
inner join course on sc.c# = course.c#) aa
union all
select top 2 * from
(select s.*,score,cname from student s
inner join sc on sc.s#= s.s# and sc.c#='03'
inner join course on sc.c# = course.c#) aa
order by score desc
『柒』 SQL語句中為什麼union有問題,求解釋
你這個語句運行不了,UNION語句不允許和ORDER BY 一起使用。
『捌』 sql 使用union後結果集排序,無法理解
由於Union需要對查詢結果集進行排序操作,當數據量較大時,若非特殊需要,盡量不要使用Union操作,
用UnionAll操作,然後對UnionAll出來的結果執行去重操作即可,所以結果不一樣
--unionall
select'張三'name
unionall
select'李四'
unionall
select'王五'
unionall
select'王五'
unionall
select'蘋果'address
unionall
select'香蕉'
unionall
select'橘子'
--result
張三
李四
王五
王五
蘋果
香蕉
橘子
--union
select'張三'name
unionall
select'李四'
unionall
select'王五'
unionall
select'王五'
union
select'蘋果'address
unionall
select'香蕉'
unionall
select'橘子'
--result
李四
蘋果
王五
張三
香蕉
橘子
『玖』 SQL語句 用union時的問題
------修改----------------------
select * into a2 from
(select * from (select top 2 * from tb_Questions where que_type='單選題' order by newid()) A
union
select * from (select top 1 * from tb_Questions where que_type='多選題' order by newid()) B) T
前提是這張表裡的欄位不包含text、ntext、image類型的
『拾』 sql語句union
sql中union用於合並兩個或多個 SELECT 語句的結果集。
需要注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。
SQL UNION 語法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
以圖中表格為例:
列出所有在中國和美國的不同的雇員名:
SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA
結果
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill
這個命令無法列出在中國和美國的所有雇員。在上面的例子中,我們有兩個名字相同的雇員,他們當中只有一個人被列出來了。UNION 命令只會選取不同的值。
如果需要顯示全部值,則使用UNION all。
列出在中國和美國的所有的雇員:
SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA