多表或单表数量统计 使用union all

使用的数据表格式如下
表一:
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 all进行统计
---利用sum函数进行加总求和拼凑新表

SELECT	SUM(chinaCount) ,
		SUM(usaCount)
FROM	( SELECT	COUNT(1) AS chinaCount ,
					0 AS usaCount
		  FROM		Employees_China
		  UNION ALL
		  SELECT	0 AS chinaCount ,
					COUNT(1) AS usaCount
		  FROM		Employees_USA
		)

最终出来数据

chinaCount        usaCount

      4                             4

Union贴士:

1. UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

2.UNION 命令只会选取不同的值。

3.UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。



你可能感兴趣的:(Sqlserver,个人总结)