gpt4 book ai didi

sql - 特定部门员工的最高工资

转载 作者:行者123 更新时间:2023-12-04 18:23:26 24 4
gpt4 key购买 nike

EmpID   EmpName EmpSalary   EmpDept
1 Steve 5000 HR
2 Robert 5000 Management
3 Brad 3000 HR
4 Sam 4000 HR
5 Dave 2000 Management
6 Stuvart 4500 Management

如何从 EMPLOYEE 表中获取员工详细信息,其薪水为 max 且他属于 HR 部门...我的查询是
SELECT EmpID,EmpName,EmpSalary,EmpDept 
FROM EMPLOYEE
WHERE EmpSalary IN (select max(EmpSalary) from EMPLOYEE)
AND EMPDEPT='HR'

我试过上面的查询,它给了我准确的结果,但由于性能问题,我不能使用内部查询。

最佳答案

您可以使用 order by条款与 rownum对于 Oracle 版本 < 12c:

SELECT EmpID, EmpName, EmpSalary, EmpDept 
FROM EMPLOYEE
WHERE ROWNUM = 1 AND EMPDEPT = 'HR'
ORDER BY EmpSalary DESC

否则,您可以使用以下内容:
SELECT EmpID, EmpName, EmpSalary, EmpDept 
FROM EMPLOYEE
WHERE EMPDEPT = 'HR'
ORDER BY EmpSalary DESC
FETCH FIRST ROW WITH TIES

附注: with ties选项为您提供获得多个结果的机会,以防有多位员工具有相同的最高工资(因此结果集可能与使用 rownum 的结果集不同,结果集中总是有一行)。

关于sql - 特定部门员工的最高工资,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35834808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com