mySQL:如何在不同的表上执行计算

时间:2016-05-19 23:45:32

标签: mysql

所以我有一张表列出了所有员工的工资。另一个列出部门的表和另一个列出部门员工的表。表工资和表 dep_emp 之间的公共列是 emp_no 。表部门 dep_emp 之间的公共列是 dept_no 。我需要获得特定部门的当前平均工资

SELECT COUNT(emp_no)
FROM dept_emp
WHERE dept_no='d001'; -- this gives me the count that i need to divide the salary by

但是我如何在这个特定的表和另一个表之间建立连接?我应该做一个INNER JOIN

1 个答案:

答案 0 :(得分:0)

是的,您需要使用您提到的字段在表之间进行连接,但是您可以使用avg()函数来获得平均值:

select d.dept_no, avg(e.salary)
from departments d
left join dept_emp de on d.dept_no=de.dept_no
left join employees e on de.emp_no=e.emp_no
group by d.tept_no

您是使用左连接还是内连接取决于您的确切要求。

相关问题