查詢各部門最高薪水

2021-09-24 17:21:36 字數 1408 閱讀 6103

面試遇到乙個題,如下所示:

給出每個部門員工薪水最高的員工資訊emp_no, dept_no, salary

表1:dept_emp

emp_no

員工編號

dept_no

部門編號

from_date

to_date

表2:salaries

emp_no

員工編號

salary

薪水from_date

to_date

剛開始寫的是錯誤的答案,面試官也寫錯了,哈哈哈,感覺mysql水還是很深的,需要耐心去學習,首先給出錯誤答案:

首先自己建了表,並插入資料

dept_emp表

salaries表

結果如下:

發現,部門2的薪水並非最高的,原因在於分組group by : 預設返回結果第一條,而max 只作用於列,不會影響行資料,所以才會出現此現象,因此我們先聯表排序查詢,再分組取

select

t.emp_no,

t.dept_no,

t.salary

from

( select

d.dept_no,

s.emp_no,

s.salary

from

dept_emp d

left join salaries s on d.emp_no = s.emp_no

order by

s.salary desc

) tgroup by

t.dept_no;

結果可以看出,正是我們想要的結果

乙個SQL題目,求各部門中薪水最高的員工的名稱

題 員工表有員工名稱,部門id,和薪水,通過sql求出每個部門最高薪水的員工的名稱 同一部門可能有兩個或兩個以上員工的薪水一樣且最高.sqlserver2005中的實現如下 select 員工名稱,部門id,薪水 from 員工,select 部門id as departmentid,max 薪水 ...

查詢人數最多的部門及各部門男女人數

首先是建表語句 spool employee.log prompt prompt creating table employee prompt prompt create table jcxt.employee id varchar2 20 name varchar2 20 varchar2 20 ...

外企各部門英文名稱

總公司 head office 分公司 branch office 營業部 business office 人事部 personnel department 人力資源部 human resources department 總務部 general affairs department 財務部 gen...