描述
有一个部门表departments简况如下:
有一个,部门员工关系表dept_emp简况如下:
有一个薪水表salaries简况如下:
请你统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum,按照dept_no升序排序,以上例子输出如下:
我的思路:
这是三表联合查询;JOIN连接dept_emp表和salaries表,并以dept_emp.no分组,统计每个部门所有员工工资的记录总数,再将上表用INNER
JOIN连接departments表,限制条件为两表的dept_no相等,找到dept_no与dept_name的对应关系,最后依次输出dept_no、dept_name、sum
代码为:
select de.dept_no, dp.dept_name, count(s.salary) as sum
from (dept_emp as de inner join salaries as s on de.emp_no = s.emp_no)
inner join departments as dp on de.dept_no = dp.dept_no
group by de.dept_no order by dept_no