薪资涨幅情况

数据:https://blog.csdn.net/qq_38560351/article/details/106331612
题目:
1. 查找员工编号emp_no为10001其自入职以来的薪水salary涨幅(总共涨了多少)growth(可能有多次涨薪,没有降薪)

SELECT (
(
SELECT salary from salaries 
WHERE 1=1 
and emp_no=10001
order by to_date DESC 
LIMIT 1)  -(
SELECT salary from salaries 
WHERE 1=1 
and emp_no = 10001
order by to_date ASC 
LIMIT 1) 
) as growth;

2. 查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序
(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!=‘9999-01-01’,这样的数据不显示在查找结果里面)

SELECT aa.emp_no,(aa.salary-bb.salary) as growth
FROM (
SELECT a.emp_no,b.salary
FROM employees as a
JOIN salaries as b on a.emp_no = b.emp_no
WHERE 1=1
AND b.to_date = '9999-01-01') as aa
JOIN (
SELECT a.emp_no,b.salary
FROM employees as a
JOIN salaries as b on a.emp_no = b.emp_no
WHERE 1=1
AND b.from_date = a.hire_date) as bb on aa.emp_no = bb.emp_no
ORDER BY growth
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值