题解 | #left join 的应用#

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

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

with dd as (
    select e.emp_no,
        e.dept_no,
        d.dept_name
    from dept_emp e, departments d
    where e.dept_no = d.dept_no
)


select d.dept_no,
    d.dept_name,
    count(s.salary) sum
from salaries s
left join dd d
on d.emp_no = s.emp_no
group by d.dept_no
order by d.dept_no

本题使用 left join 将主表 salaries 的所有员工信息保留,并通过临时表获取了每个员工所在部门的 dept_name,最后通过 group by 聚合相同部门的员工统计记录即可。

全部评论

相关推荐

点赞 评论 收藏
分享
酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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