题解 | #统计各个部门的工资记录数#

统计各个部门的工资记录数

http://www.nowcoder.com/practice/6a62b6c0a7324350a6d9959fa7c21db3

1、返回dept_no,dept_name,sum:
(1)departments表中的dept_no,dept_name
(2)salaries表中求出sum:COUNT(salary) AS sum
2、通过dept_emp连接departments表和salaries表:
SELECT demp.dept_no, COUNT(salary) AS sum
FROM dept_emp AS demp INNER JOIN salaries
ON demp.emp_no = salaries.emp_no
GROUP BY dept_no
3、连接departments表和dept_emp表和salaries表:
FROM departments AS d LEFT JOIN
(SELECT demp.dept_no, COUNT(salary) AS sum
FROM dept_emp AS demp INNER JOIN salaries
ON demp.emp_no = salaries.emp_no
GROUP BY dept_no) AS j
WHERE d.dept_no = j.dept_no
4、按照dept_no排序:ORDER BY d.dept_no
5、串联:
SELECT d.dept_no, d.dept_name, j.sum
FROM departments AS d LEFT JOIN
(SELECT demp.dept_no, COUNT(salary) AS sum
FROM dept_emp AS demp INNER JOIN salaries
ON demp.emp_no = salaries.emp_no
GROUP BY dept_no) AS j
WHERE d.dept_no = j.dept_no
ORDER BY d.dept_no

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务