我学习的是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