“僱員表“中記錄了員工的信息,“薪水錶“中記錄了對應員工發放的薪水。兩表通過“僱員編號”關聯。查找當前所有僱員入職以來的薪水漲幅,給出僱員編號以及其對應的薪水漲幅,並按照薪水漲幅進行升序。
(注:薪水錶中結束日期爲2004-01-01的纔是當前員工,否則是已離職員工)
-- 入職薪水
select a.僱員編號
,薪水 as last_salary
from 僱員表 a inner join 薪水錶 b
on a.僱員編號 = b.僱員編號
where 僱用日期 = 起始日期
and 僱員編號 in (select 僱員編號 from 薪水錶
where 結束日期 = '2004-01-01')
-- 計算薪資漲幅:
select t1.僱員編號
,(curr_salary - last_salary) as Salary_incre
from (select 僱員編號
,薪水 as curr_salary
from 薪水錶
where 結束時間 = '2004-01-01') t1
inner join(
select a.僱員編號
,薪水 as first_salary
from 僱員表 a inner join 薪水錶 b
on a.僱員編號 = b.僱員編號
where 僱用日期 = 起始日期
and a.僱員編號 in (select 僱員編號
from 薪水錶 where 結束日期 = '2004-01-01'))t2
on t1.僱員編號 = t2.僱員編號
order by Salary_incre;