我學習的是MySQL,學習寫sql語句過程中遇到Group By 和 Union。
大家樂意看這兩個鏈接,寫的很好
Group By: www.cnblogs.com/rainman/archive/2013/05/01/3053703.html
Union : http://www.jb51.net/article/48933.htm
博主只是為了加強記憶才寫博客的,基本上是盜用
首先我們來看什么是group By。
Group By 就是分組的意思,根據***分組
這是原始表
select 類別, sum(數量) as 數量之和 from A group by 類別
執行后
相信大家看出來了,這是按照類別分組,結果里只剩下abc三個類別,數量之和就是相同類別間的相加。
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