SQL_216

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

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

方法一:

思路:

这里三表 join,根据部门编号 dept_no 和部门名称 dept_name 分组,用 count 聚合出结果即可。

代码:

select
    ds.dept_no,
    ds.dept_name,
    count(salary) sum
from
    departments ds
    left join dept_emp dp on ds.dept_no = dp.dept_no
    left join salaries s on dp.emp_no = s.emp_no
group by
    ds.dept_no,
    ds.dept_name
order by
    ds.dept_no

方法二:

思路:

思路:将 departments 和 dept_emp 联结(左联结内联结都可以),得到员工对应的部门编号和部门名称后,再联结 salaries 表,通过对部门分组,得到每组工资数。

代码:

SELECT
    a.dept_no,
    a.dept_name,
    count(salary) AS sum FROM (
        SELECT
            d.dept_no,
            de.emp_no,
            d.dept_name
        FROM
            dept_emp de
            LEFT JOIN departments d ON de.dept_no = d.dept_no
    ) a
    INNER JOIN salaries s ON a.emp_no = s.emp_no
GROUP BY
    a.dept_no
order by
    a.dept_no

全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
小叮当411:应该是1-3个月吧
点赞 评论 收藏
分享
06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
5
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务