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

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

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

SELECT
a2.dept_no,
a2.dept_name,
a1.sum sum
FROM
(
    SELECT 
    a4.dept_no no,
count(a3.salary) sum
    FROM
    salaries a3
    LEFT JOIN 
    dept_emp a4
    ON a3.emp_no=a4.emp_no
    GROUP BY a4.dept_no
) a1
LEFT JOIN
departments a2
ON a1.no=a2.dept_no
ORDER BY a2.dept_no

需要的信息分散在三张表中,需要用到两次join关联三个表

第一个左连接:

将包含结果表最多字段的表作为最外层的左表(有可能是关联的中间表)

第二个左连接:

以子查询的方式插在第一个左连接的左边或右边

保留第一个左连接需要的字段

保留需要筛选的字段

全部评论

相关推荐

04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务