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

相关文章
相关标签/搜索