SQL實戰(5) 查詢所有員工入職時的薪水

2021-10-07 17:18:43 字數 1334 閱讀 3455

題目描述

查詢所有員工入職時候的薪水情況,給出emp_no以及salary, 並按照emp_no進行逆序(請注意,乙個員工可能有多次漲薪的情況)

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

分析

salaries可能漲薪,所以這張表乙個員工可能有多條記錄

工資表的日期和員工表中員工剛入職的日期相同

hire_data時間和from_data時間一致

1.子查詢

select s.emp_no,s.salary from salaries as s

where from_date=(select hire_date from employees as e where e.emp_no=s.emp_no)

order by s.emp_no desc

2.內連線

select s.emp_no,s.salary

from salaries as s inner join employees as e

where s.emp_no=e.emp_no

and s.from_date=e.hire_date

order by s.emp_no desc

3.純where

select s.emp_no,s.salary from salaries as s,employees as e

where e.emp_no=s.emp_no

and e.hire_date=s.from_date

order by s.emp_no desc

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

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

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 6

查詢所有員工入職時候的薪水情況,給出emp no以及salary,並按照emp no進行逆序 請注意,乙個員工可能有多次漲薪的情況 create table employees emp no int 11 notnull birth date date notnull first name varc...