题解 | #查找在职员工自入职以来的薪水涨幅情况#

查找在职员工自入职以来的薪水涨幅情况

http://www.nowcoder.com/practice/fc7344ece7294b9e98401826b94c6ea5

题目所求为入职到现在的薪水涨幅情况,我首先的思路就是用现在的工资减去刚入职时候的工资 接着按着这个目标去按要求求解:

1、首先将员工编号与刚入职时候的工资对应起来,使用表连接,连接字段为编号对应,以及入职时期对应;

2、将员工编号与现在的工资对应起来,使用表连接,连接字段为编号对应,筛选条件为se.to_date='9999-01-01',这样就只留下了在职员工

3、se.salary-ss.salary就是现在与刚入职工资的差距

4、最后按工资涨幅排序

使用到的三张表为employees 别名e、salaries 别名ss(salary_start)、salaries 别名se(salary_end)

完整代码为:

select e.emp_no,(se.salary-ss.salary) growth
from employees e
join salaries ss
on e.emp_no=ss.emp_no and e.hire_date=ss.from_date
join salaries se
on e.emp_no=se.emp_no
where se.to_date='9999-01-01'
order by growth
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
我见java多妩媚:大外包
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务