查找在职员工自入职以来的薪水涨幅情况
最近在练习sql语句
这是牛客网上的一道sql题目:
有一个员工表employees简况如下:
有一个薪水表salaries简况如下:
请你查找在职员工自入职以来的薪水涨幅情况,给出在职员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序,以上例子输出为
(注: to_date为薪资调整某个结束日期,或者为离职日期,to_date='9999-01-01’时,表示依然在职,无后续调整记录)
看到这,有一点思路,就是找出最低薪酬和最高薪酬,然后相减,就是薪水涨幅了(这是我想当然了):
SELECT a.emp_no,(a.max_salary-b.min_salary)as growth
from
(select max(to_date) to_date,emp_no,max(salary) max_salary from salaries group by emp_no)