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

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

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

/*入职时候的工资表
SELECT e.emp_no,salary from salaries s
left join employees e 
on s.emp_no=e.emp_no
WHERE s.from_date = e.hire_date;
*/

/*离职或最后一次工资变动时的工资表
SELECT e.emp_no,salary from salaries s
left join employees e
on s.emp_no=e.emp_no
where s.to_date='9999-01-01';
*/

SELECT a.emp_no,(b.salary-a.salary) as growth
from (
    SELECT e.emp_no,salary from salaries s
    left join employees e 
    on s.emp_no=e.emp_no
    WHERE s.from_date = e.hire_date
) as a
inner join (      #a表中所有员工工资都有,b表中只有在职员工的工资,所以用内连接,用左外连接离职员工工资涨幅会显示为null
    SELECT e.emp_no,salary from salaries s
    left join employees e
    on s.emp_no=e.emp_no
    where s.to_date='9999-01-01'
) as b
on a.emp_no=b.emp_no
order by growth asc;
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务