題目:查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp_no以及其對應的薪水漲幅growth,並按照growth進行公升序
create tableemployees
(
emp_no
int(11) not null,
birth_date
date not null,
first_name
varchar(14) not null,
last_name
varchar(16) not null,
gender
char(1) not null,
hire_date
date not null,
primary key (emp_no
));
create tablesalaries
(
emp_no
int(11) not null,
salary
int(11) not null,
from_date
date not null,
to_date
date not null,
primary key (emp_no
,from_date
));
select cur.emp_no,
(cur.salary-sta.salary)
as growth
from
(select emp_no,salary from salaries
where to_date=
'9999-01-01'
)as cur
join
(select e.emp_no,s.salary from employees e
join salaries s on e.emp_no=s.emp_no
where e.hire_date=s.from_date)
as sta
on cur.emp_no=sta.emp_no
order
by growth asc
;
篩選條件為to_date=『9999-01-01』 把工資表裡的找到當前工資找出來
篩選條件為工資的from_date = 員工的 hire_date 把初始工資找出來
on作為連線兩張表的條件提供做減法時的依據:cur.salary-sta.salary
的依據是cur.emp_no=sta.emp_no
,是同乙個人的當前和初始salary
mysql 查詢員工入職時間
create table employees emp no int 11 not null,birth date date not null,first name varchar 14 not null,last name varchar 16 not null,gender char 1 not ...
SQL程式設計 查詢所有員工自入職以來的薪水漲幅情況
21.查詢所有員工自入職以來的薪水漲幅情況 題目內容 及思路 因為要計算薪水的漲幅情況,因此需要將當前的salary與from date的salary進行做差。select scurrent.emp no,scurrent.salary sstart.salary as growth from se...
牛客網,查詢所有員工自入職以來的薪水漲幅情況
查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp no以及其對應的薪水漲幅growth,並按照growth進行公升序 注 可能有employees表和salaries表裡存在記錄的員工,有對應的員工編號和漲薪記錄,但是已經離職了,離職的員工salaries表的最新的to date 9999 ...