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

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

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

我的思路是找出在职员工的入职时工资与最新的工资的差值,就是薪水的涨幅。

第一步找出入职时的工资:

select a.emp_no,b.salary from employees a 
  join salaries b on a.hire_date =b.from_date

第二步找出在职员工的工资:

select emp_no,salary from salaries where to_date='9999-01-01'

第三步,合并前两个计算差值,进行排序

select c.emp_no,(d.salary-c.salary) growth from 
  (select a.emp_no,b.salary from employees a 
   join salaries b on a.hire_date =b.from_date) c
      join (select emp_no,salary from salaries 
       where to_date='9999-01-01') d on c.emp_no=d.emp_no 
  order by growth
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务