员工薪水表 tb_staff_salary
CREATE TABLE ck.tb_staff_salary(
sal_month char(6) , --薪水月份,如201604 表示2016年4月
staff_serial number(8), --工号
sal number(18,2), --基本工资
sal_subsidy number(18,2), --津贴
sal_dt char(8) --发放日期,如20160505 表示2016年5月5日
);
alter table ck.TB_STAFF_SALARY
add constraint PK_STAFF_SALARY primary key (SAL_MONTH, STAFF_SERIAL);
员工信息表 tb_staff_info
CREATE TABLE ck.tb_staff_info(
staff_serial number(8) , --工号
dept char(2) , --部门
staff_name varchar(10) , --姓名
sex char(1) , --性别,0表示男,1表示女
staff_lead number(8) --工号, 其领导工号
);
查询2016年4月所有薪水介于5000元与8000元之间的员工信息,包括
部门 工号 姓名 领导姓名 基本工资 津贴
注意是领导姓名!!!
æµè¯è¿äºå
追çä½ æ¾è¿å»è¿è¡ä¸ä¸ï¼æé®é¢ä¹ä¸ä¼æ¯å¤§é®é¢ç
select tb_staff_info.dept,tb_staff_info.staff_serial,tb_staff_info.staff_name,tb_staff_info.领导姓名,tb_staff_salary.sal,tb_staff_salary.sal_subsid,
from tb_staff_salary,tb_staff_info
where tb_staff_salary.sal_month=4 and 5000<sum(sal,sal_subsidy)<8000
领导姓名应该是根据领导工号在员工信息表里面查出来的,领导也是员工,薪水组成是基本工资加上津贴
追答select b.dept 部门, b.staff_serial 工号,b.staff_name 姓名,c.staff_name 领导姓名,a.sal 基本工资,a.sal_subsidy 津贴 from tb_staff_salary a where sal_month='201604' and sal+sal_subsidy>5000 and sal+sal_subsidy<8000 left join tb_staff_info b on a.staff_serial=b.staff_serial left join tb_staff_info c on a.staff_serial=c.staff_lead