牛客SQL練習第25題

2021-10-10 05:59:07 字數 1859 閱讀 1429

獲取員工其當前的薪水比其manager當前薪水還高的相關資訊,當前表示to_date=『9999-01-01』,

結果第一列給出員工的emp_no,

第二列給出其manager的manager_no,

第三列給出該員工當前的薪水emp_salary,

第四列給該員工對應的manager當前的薪水manager_salary

create

table

`dept_emp`

(`emp_no`

int(11)

notnull

,`dept_no`

char(4

)not

null

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`dept_no`))

;

create

table

`dept_manager`

(`dept_no`

char(4

)not

null

,`emp_no`

int(11)

notnull

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`dept_no`))

;

create

table

`salaries`

(`emp_no`

int(11)

notnull

,`salary`

int(11)

notnull

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`from_date`))

;

獲取所有員工的工資,獲取所有經理的工資,比較即可。

select 

sem.emp_no as emp_no,

sdm.emp_no as manager_no,

sem.salary as emp_salary,

sdm.salary as manager_salary

from

(select

s.salary,

s.emp_no,

de.dept_no

from salaries s

join dept_emp de on s.emp_no = de.emp_no and s.to_date =

'9999-01-01'

) sem,

(select

s.salary,

s.emp_no,

dm.dept_no

from salaries s

join dept_manager dm on s.emp_no = dm.emp_no and s.to_date =

'9999-01-01'

) sdm

where sem.dept_no = sdm.dept_no and sem.salary > sdm.salary

牛客SQL練習第57題

使用含有關鍵字exists查詢未分配具體部門的員工的所有資訊。create table employees emp no int 11 notnull birth date date notnull first name varchar 14 not null last name varchar 1...

牛客SQL練習第60題

按照salary的累計和running total,其中running total為前n個當前 to date 9999 01 01 員工的salary累計和,其他以此類推。具體結果如下demo展示。create table salaries emp no int 11 notnull salary...

牛客SQL練習第68題

牛客每天有很多人登入,請你統計一下牛客每個使用者最近登入是哪一天,用的是什麼裝置.有乙個登入 login 記錄表,簡況如下 第1行表示id為2的使用者在2020 10 12使用了客戶端id為1的裝置登入了牛客網 第4行表示id為3的使用者在2020 10 13使用了客戶端id為2的裝置登入了牛客網 ...