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

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

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
全部评论

相关推荐

Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务