Oracle SQL - 两个select语句中的最大值

one*_*ros 5 sql oracle select max where

我有两个select语句,可以找到特定角色的最高工资.现在我希望获得这些select语句的两个返回值的最大值.考虑以下代码:

SELECT MAX(SALARY) 
  FROM TABLE1 
 WHERE ROLE = 'MANAGER'

SELECT MAX(SALARY) 
  FROM TABLE1 
 WHERE ROLE = 'DEVELOPER'; 
Run Code Online (Sandbox Code Playgroud)

最后,我想要这两个数字中的最大值.

我如何在一个查询中完成所有这些操作?

有两个选择最大值,然后比较这些最大值并给出两个最大值的最大值?

Som*_*luk 10

如果您希望获得更多职位的最大值,请在"IN"数组中添加该职位.无需为每个职位编写一个select语句.

SELECT MAX(SALARY) FROM TABLE1 WHERE ROLE IN ('MANAGER','DEVELOPER')
Run Code Online (Sandbox Code Playgroud)


das*_*ght 9

由于两者都选择从同一个表读取,因此您可以这样做:

SELECT MAX(SALARY) FROM TABLE1 WHERE ROLE = 'MANAGER' OR ROLE = 'DEVELOPER'
Run Code Online (Sandbox Code Playgroud)