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

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

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

一种简洁的写法
SELECT  a.emp_no,
        b.salary - c.salary AS growth
FROM employees AS a, salaries AS b, salaries AS c
WHERE 
    a.emp_no = b.emp_no AND b.to_date = "9999-01-01"
    AND a.emp_no = c.emp_no AND c.from_date = a.hire_date
ORDER BY growth 

一种通俗些的写法
SELECT  a.emp_no                    AS emp_no,
        a.max_salary - b.min_salary AS growth
FROM
(
    SELECT  salary AS max_salary,
	              emp_no
    FROM salaries
    WHERE to_date = "9999-01-01" 
) AS a
LEFT JOIN
(
    SELECT  salary as min_salary,
	              e.emp_no
    FROM salaries AS e, employees AS e1
    WHERE e.emp_no = e1.emp_no AND e1.hire_date = e.from_date
) AS b
ON a.emp_no = b.emp_no
ORDER BY growth


全部评论

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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