题解 | #统计各个部门的工资记录数#
统计各个部门的工资记录数
https://www.nowcoder.com/practice/6a62b6c0a7324350a6d9959fa7c21db3
SELECT a2.dept_no, a2.dept_name, a1.sum sum FROM ( SELECT a4.dept_no no, count(a3.salary) sum FROM salaries a3 LEFT JOIN dept_emp a4 ON a3.emp_no=a4.emp_no GROUP BY a4.dept_no ) a1 LEFT JOIN departments a2 ON a1.no=a2.dept_no ORDER BY a2.dept_no
需要的信息分散在三张表中,需要用到两次join关联三个表
第一个左连接:
将包含结果表最多字段的表作为最外层的左表(有可能是关联的中间表)
第二个左连接:
以子查询的方式插在第一个左连接的左边或右边
保留第一个左连接需要的字段
保留需要筛选的字段