如何在两个表之间执行JOIN后计算不同部门的成员数量?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在两个表之间执行JOIN后计算不同部门的成员数量?相关的知识,希望对你有一定的参考价值。
我有一张桌子Emp
和另一张桌子Dept
这是表Emp
这是表部门
我必须执行的查询是显示超过5个工作人员的所有部门(即DeptName)的平均工资(即sal)。因此,我们必须做一个JOIN
或其他东西,并在这里与DeptID
匹配DeptID
等。
这真的令人困惑,我不明白该怎么做。
答案
你可以使用group by with having子句查询。
Dept_id
分组和使用having子句检查计数。
SELECT
SUM(E.Sal) / COUNT(E.Dept_id) AS Avg_Sal,
E.Dept_Id
FROM EMP E
JOIN Dept D
ON D.DeptId = E.Dept_Id
GROUP BY E.DeptId
HAVING COUNT(E.Dept_Id) > 5
另一答案
Select
DeptName,
AVG(sal) as averageSalary,
Count(EmpId) as NumberofEE
FROM Emp e
/*Left Join Because there are Nulls in the Dept_Id each Emp should belong to
1 dept*/
LEFT JOIN Dept d on e.Dept_Id = d.DeptId
GROUP BY
DeptName
Having Count(EmpId)> 5
这将为您提供超过5个工作人员的所有部门(即DeptName)的平均工资(即sal)
如果我对你的要求是正确的。
以上是关于如何在两个表之间执行JOIN后计算不同部门的成员数量?的主要内容,如果未能解决你的问题,请参考以下文章