题解 | #查找在职员工自入职以来的薪水涨幅情况#
查找在职员工自入职以来的薪水涨幅情况
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