题解 | #获取所有非manager员工当前的薪水情况#

获取所有非manager员工当前的薪水情况

http://www.nowcoder.com/practice/8fe212a6c71b42de9c15c56ce354bebe

报错1
每个派生表必须有自己的别名
select de.dept_no
, de.emp_no
, sa.salary
from
    (select de.dept_no
    , de.emp_no
    , dm.emp_no
    from dept_emp de
    left join dept_manager dm
    on de.dept_no=dm.dept_no
    where de.to_date='9999-01-01'
    and dm.to_date='9999-01-01')
join salary sa 
on de.emp_no=sa.emp_no
where sa.to_date='9999-01-01'
and dm.emp_no!=sa.emp_no
通过1
1.将子查询进行别名
2.猜测de.emp_no和dm.emp_no在子表里都显示为emp_no,故将dm.emp_no别名为m
3.考虑到部门可能没有经理,所以将部门员工关系表左连接经理表,保证员工不会被内连接删掉,连接部门字段产生的null值,也满足and m!=sa.emp_no
, sa.salary
from
    (select de.dept_no
    , de.emp_no
    , dm.emp_no m
    from dept_emp de
    left join dept_manager dm
    on de.dept_no=dm.dept_no
    where de.to_date='9999-01-01'
    and dm.to_date='9999-01-01')a
join salaries sa 
on a.emp_no=sa.emp_no
where sa.to_date='9999-01-01'
and m!=sa.emp_no



全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
牛客969571862号:昨天捞我今天面这个,岗位一模一样,感觉就是面着玩
点赞 评论 收藏
分享
牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务