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

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

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

第一种方法(自己的答案)
经过测试left join和join在本题中都可以,对于内外连接还不是很懂。
select d.dept_no
, d.dept_name
, count(a.salary)sum
from departments d
left join
    (select de.emp_no
    , de.dept_no
    , sa.salary
    from dept_emp de
    left join salaries sa
    on de.emp_no=sa.emp_no)a
on d.dept_no=a.dept_no
group by d.dept_no, d.dept_name
order by d.dept_no
第二中方法:三表直连,不需要给中间表别名,也不需要剔除中间表的连接键,比较简洁,目前对于逻辑不是特别明确
SELECT d.dept_no, d.dept_name, count(s.salary) AS SUM
FROM departments d JOIN dept_emp de ON d.dept_no = de.dept_no
JOIN salaries s ON de.emp_no = s.emp_no
GROUP BY d.dept_no
ORDER BY d.dept_no ASC


全部评论

相关推荐

不愿透露姓名的神秘牛友
06-26 15:18
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-30 18:19
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 16:22
主包是26应届生,投大厂简历一直过不了初筛,想问问大家有必要花钱改简历吗
Java抽象带篮子:我之前专门发个帖子说不要付费改简历的,里面还详细写了简历怎么写,你可以去看看
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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