MYSQL 查詢所有員工自入職以來的薪水漲幅情況

2021-10-03 07:39:50 字數 1393 閱讀 1044

題目:查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp_no以及其對應的薪水漲幅growth,並按照growth進行公升序

create tableemployees(

emp_noint(11) not null,

birth_datedate not null,

first_namevarchar(14) not null,

last_namevarchar(16) not null,

genderchar(1) not null,

hire_datedate not null,

primary key (emp_no));

create tablesalaries(

emp_noint(11) not null,

salaryint(11) not null,

from_datedate not null,

to_datedate 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 ...