题解 | #统计各个部门的工资记录数#
统计各个部门的工资记录数
http://www.nowcoder.com/practice/6a62b6c0a7324350a6d9959fa7c21db3
分析:统计记录首先想到count()聚合函数 1.根据表的关系:主表departments表的dept_no和dept_name为查询字段 2.关联dept_emp 使用dept_no=departments.dept_no 3.由于salaries的表无法和主表关联,先把后两个表关联,查询结果为关联表 4.最后使用count()函数,用dept_no和dept_name 分组
select a.dept_no,a.dept_name, count(d.salary) as sum from departments a left join dept_emp b on a.dept_no=b.emp_no left join (select a.dept_no,c.* from dept_emp a inner join salaries c on a.emp_no=c.emp_no) as d on a.dept_no=d.dept_no group by a.dept_no,a.dept_name;