sql實戰:使用sql計算工資漲幅?

“僱員表“中記錄了員工的信息,“薪水錶“中記錄了對應員工發放的薪水。兩表通過“僱員編號”關聯。查找當前所有僱員入職以來的薪水漲幅,給出僱員編號以及其對應的薪水漲幅,並按照薪水漲幅進行升序。
(注:薪水錶中結束日期爲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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章