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

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

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

select r.emp_no,(b.s2-r.s1) as growth from(select salaries.emp_no ,salary s1 from salaries join employees on salaries.emp_no = employees.emp_no where salaries.from_date = employees.hire_date)r join( select salaries.emp_no ,salary s2 from salaries join employees on salaries.emp_no = employees.emp_no where to_date ='9999-01-01' ) b on r.emp_no = b.emp_no order by growth asc

思路

首先对表salaries和表employees使用内连接,连接条件是 salaries.emp_no = employees.emp_no,查询出员工的员工号和入职薪水记为r,同理查询出在职员工的员工号和目前薪水记为b,最后将这两个中间表使用内连接,连接条件是emp_no相等,最后查询出该表的emp_no和(b.salary-r.salary),按照薪水涨幅生序排列即可。

全部评论

相关推荐

码农索隆:想看offer细节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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