group By 和 Union 、 Union all的用法

我學習的是MySQL,學習寫sql語句過程當中遇到Group By 和 Union。html

你們樂意看這兩個連接,寫的很好sql

Group By: www.cnblogs.com/rainman/archive/2013/05/01/3053703.html學習

Union : http://www.jb51.net/article/48933.htmspa

博主只是爲了增強記憶才寫博客的,基本上是盜用.net

首先咱們來看什麼是group By。code

Group By 就是分組的意思,根據***分組htm

這是原始表blog

select 類別, sum(數量) as 數量之和
from A
group by 類別

執行後博客

 

相信你們看出來了,這是按照類別分組,結果裏只剩下abc三個類別,數量之和就是相同類別間的相加。it

 

Union    Union all

union:聯合的意思,即把兩次或屢次查詢結果合併起來。
要求:兩次查詢的列數必須一致
推薦:列的類型能夠不同,但推薦查詢的每一列,想對應的類型以一

Employees_China:
E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming

 Employees_USA:

E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill

 

使用 UNION 命令實例

列出全部在中國和美國的不一樣的僱員名:

 
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 ALL 命令實例

UNION ALL 命令和 UNION 命令幾乎是等效的,不過 UNION ALL 命令會列出全部的值。

實例:
列出在中國和美國的全部的僱員:

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

結果

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill

 

 

 

 

 

 

 

 

 

 

 

 

 

 

888

相關文章
相關標籤/搜索