题解 | #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 聚合相同部门的员工统计记录即可。

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:10
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗? 那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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