我學習的是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