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

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

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

  1. SELECT
  2. s3.emp_no,
  3. s3.salary2-s3.salary1 AS growth
  4. FROM
  5. ((SELECT
  6. e.emp_no,
    
  7. s.salary as salary1
    
  8. FROM
  9. employees e
    
  10. LEFT JOIN salaries s
    
  11.   ON e.emp_no = s.emp_no
    
  12. WHERE e.hire_date = s.from_date) AS s1 -- 入职薪水
  13. INNER JOIN
  14. (SELECT
    
  15.   e.emp_no,
    
  16.   s.salary as salary2
    
  17. FROM
    
  18.   employees e
    
  19.   LEFT JOIN salaries s
    
  20.     ON e.emp_no = s.emp_no
    
  21. WHERE s.to_date = '9999-01-01') AS s2  -- 现在薪水
    
  22. ON s1.emp_no = s2.emp_no ) AS s3
    
  23. ORDER BY growth 我一开始一直无法理解别人的,自己写了一个,跟其他人的区别就是我把S1跟S2内连接后当作S3,最后所有的select都从S3取,我觉得更适合新手理解。
全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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