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

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

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

SELECT min_salaries.`emp_no`,
COALESCE(max_salaries.`salary`, 0) - COALESCE(min_salaries.`salary`, 0) growth
FROM
(SELECT `emp_no`,`salary` FROM `salaries`
    WHERE `from_date` in 
        (SELECT e.`hire_date` FROM `employees` e
            WHERE e.`emp_no` IN 
            (SELECT `salaries`.`emp_no` FROM `salaries` 
            WHERE `to_date` = '9999-01-01'))) min_salaries
JOIN 
(SELECT `emp_no`,`salary` FROM `salaries`
    WHERE `to_date` = '9999-01-01') max_salaries
ON min_salaries.`emp_no` = max_salaries.`emp_no`
ORDER BY growth asc;

累死我了,只会写subquery

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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