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

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

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

方法一: 两表联查 然后再连接新水表

select t1.emp_no, t3.salary - t2.salary as growth
    from employees t1 join salaries t2 
    on t1.emp_no = t2.emp_no and t1.hire_date = t2.from_date
        join salaries t3 
        on t1.emp_no = t3.emp_no and t3.to_date = '9999-01-01'
order by growth;

方法二: 两表联查 条件 必须有一个表 to_date = '9999-01-01' 目的是为了获取到最高工资 以 emp_no 分组后 直接找出 salary 最小值 最高工资减最低工资即为涨幅情况

select t1.emp_no, (t2.salary - min(t1.salary)) growth
    from salaries as t1, salaries as t2
    where t1.emp_no = t2.emp_no and t2.to_date = '9999-01-01'
    group by t1.emp_no
    order by growth;
全部评论

相关推荐

冷艳的小师弟在看机会:jd测评乱点直接被挂了,哭死~
点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务