1. 程式人生 > >資料庫SQL實踐21:查詢所有員工自入職以來的薪水漲幅情況

資料庫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;