group By 和 Union 、 Union all的用法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM