数据库SQL实践21:查找所有员工自入职以来的薪水涨幅情况

思想:

题目要求查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序。

首先通过条件employees as e inner join salaries as new on e.emp_no = new.emp_no and new.to_date='9999-01-01'实现employees表和salaries的内连接,即找到每个员工当前的工资。

其次通过条件inner join salaries as old on e.emp_no = old.emp_no and e.hire_date = old.from_date 将刚才那个表和salaries表内连接,即找出每个员工刚来的工资

最后通过(new.salary - old.salary)得出涨幅再排序。

select e.emp_no,(new.salary - old.salary) as growth from employees as e 
inner join salaries as new on e.emp_no = new.emp_no and new.to_date='9999-01-01'
inner join salaries as old on e.emp_no = old.emp_no and e.hire_date = old.from_date
order by growth;

猜你喜欢

转载自blog.csdn.net/weixin_43160613/article/details/83902616