--二、数据处理
--1.根据档案表生成工资表,要求:基本工资全部为2000元,工龄工资为1000元基数加上工龄每年100元
insert into salary (ygbh,jbgz,glgz) select ygbh,2000,1000+100* (YEAR(GETDATE())-YEAR(rzrq))from doc
update salary set jibgz=0
update salary set kfgz=0
--2.修改职务工资:经理1500元、主管1000元、员工600元(可以使用多条语句)
update salary set zwgz=1500 from doc where zw='经理' and salary.ygbh=doc.ygbh
update salary set zwgz=1000 from doc where zw='主管' and salary.ygbh=doc.ygbh
update salary set zwgz=600 from doc where zw='员工' and salary.ygbh=doc.ygbh
--3.修改级别工资:高级工程师2000元、工程师1200元、助理工程师800元(可以使用多条语句)zc
update salary set jibgz=2000 from doc where zc='高级工程师' and salary.ygbh=doc.ygbh
update salary set jibgz=1200 from doc where zc='工程师' and salary.ygbh=doc.ygbh
update salary set jibgz=800 from doc where zc='助理工程师' and salary.ygbh=doc.ygbh
--4.给博士研究生每人基本工资加1000元
update salary set jbgz=jbgz+1000 from doc where xl='博士研究生' and salary.ygbh=doc.ygbh
--5.计算每个人的应发工资
update salary set yfgz=jbgz+zwgz+glgz+jibgz
--6.应发工资超过5000元的,超过部分按5%扣发,计算所有人的扣发工资
update salary set kfgz=(yfgz-5000)*0.05 from salary where yfgz>5000
--7.计算所有人的实发工资
update salary set sfgz=(yfgz-kfgz) from salary
--三、数据查询
--1.查询出姓王的,且名字只有两个字的人员信息
select * from doc where xm like'王_'
--2.查询出实发工资在3000-5000之间的人员名单
select doc.xm ,sfgz from salary
join doc on salary.ygbh=doc.ygbh where sfgz>=3000 and sfgz<=5000
--3.按职称统计实发平均工资
select round ((AVG(salary.yfgz)),2) as 实