题目描述
有一个部门表 departments
简况如下:
有一个,部门员工关系表 dept_emp
简况如下:
有一个薪水表 salaries
简况如下:
请你统计各个部门的工资记录数,给出部门编码 dept_no
、部门名称 dept_name
以及部门在 salaries
表里面有多少条记录 sum
,按照 dept_no
升序排序,以上例子输出如下:
考察知识点
内联结、ORDER BY
,GROUP BY
。
解题思路
根据题目的描述,可以先将 dept_emp
和 departments
两个表连接起来,再与 salaries
表连接,然后通过 dept_no
进行分组,使用 COUNT()
统计 salary
的数目 sum
,最后再通过 dept_no
进行排序即可。
SELECT d.dept_no, dept_name, COUNT(salary) AS sum
FROM dept_emp AS d INNER JOIN departments AS dp
ON d.dept_no = dp.dept_no
INNER JOIN salaries AS s
ON d.emp_no = s.emp_no
GROUP BY dept_no
ORDER BY dept_no
题目来源:牛客网-SQL数据库实战题
✅ 每日打卡,❤ 点个赞再走吧!!!❤
后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。