牛客SQL練習第12題

2021-10-25 06:13:49 字數 2102 閱讀 7401

獲取所有部門中當前(dept_emp.to_date = 『9999-01-01』)員工當前(salaries.to_date=『9999-01-01』)薪水最高的相關資訊,給出dept_no, emp_no以及其對應的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

`salaries`

(`emp_no`

int(11)

notnull

,`salary`

int(11)

notnull

,`from_date`

date

notnull

,`to_date`

date

notnull

,primary

key(

`emp_no`

,`from_date`))

;

在mysql中select後出現de.emp_no,則group by後也需要有de.emp_no

select de.dept_no,de.emp_no,

max(s.salary)

from dept_emp de

inner

join salaries s

on de.emp_no=s.emp_no

where s.to_date=

'9999-01-01'

and de.to_date=

'9999-01-01'

group

by de.dept_no

如果有多條薪水最高的記錄,就不能用max了

select currentsalary.dept_no, currentsalary.emp_no, currentsalary.salary 

from

//建立maxsalary表用於存放當前每個部門薪水的最大值

(select d.dept_no,

max(s.salary)

as salary

from salaries s

join dept_emp d

on d.emp_no = s.emp_no

where d.to_date =

'9999-01-01'

and s.to_date =

'9999-01-01'

group

by d.dept_no) maxsalary,

//建立currentsalary表用於存放當前每個部門所有員工的編號和薪水

(select d.dept_no, s.emp_no, s.salary

from salaries s

join dept_emp d

on d.emp_no = s.emp_no

where d.to_date =

'9999-01-01'

and s.to_date =

'9999-01-01'

) currentsalary

//限定條件為兩表的dept_no和salary均相等

where currentsalary.dept_no = maxsalary.dept_no

and currentsalary.salary = maxsalary.salary

//最後以currentsalary.dept_no排序輸出符合要求的記錄表

order

by currentsalary.dept_no

牛客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的裝置登入了牛客網 ...