牛客網,查詢所有員工自入職以來的薪水漲幅情況

2021-10-23 20:46:25 字數 1281 閱讀 7610

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

(注:可能有employees表和salaries表裡存在記錄的員工,有對應的員工編號和漲薪記錄,但是已經離職了,離職的員工salaries表的最新的to_date!='9999-01-01',這樣的資料不顯示在查詢結果裡面)

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 null,

`hire_date` date not null, --  '入職時間'

primary key (`emp_no`));

create table `salaries` (

`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`));

emp_no

growth

100110省略

省略10010

54496

10004

select b.emp_no,(b.salary-a.salary) as growth

from

(select e.emp_no,s.salary

from employees e left join salaries s on e.emp_no=s.emp_no

and e.hire_date=s.from_date)a -- 入職工資表

inner join

(select e.emp_no,s.salary

from employees e left join salaries s on e.emp_no=s.emp_no

where s.to_date='9999-01-01')b -- 現在工資表

on a.emp_no=b.emp_no

order by growth

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

題目 查詢所有員工自入職以來的薪水漲幅情況,給出員工編號emp no以及其對應的薪水漲幅growth,並按照growth進行公升序 create tableemployees emp noint 11 not null,birth datedate not null,first namevarcha...

SQL程式設計 查詢所有員工自入職以來的薪水漲幅情況

21.查詢所有員工自入職以來的薪水漲幅情況 題目內容 及思路 因為要計算薪水的漲幅情況,因此需要將當前的salary與from date的salary進行做差。select scurrent.emp no,scurrent.salary sstart.salary as growth from se...

查詢最晚入職員工的所有資訊 牛客網SQL實戰篇

資料表 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 ...