【发布时间】:2010-09-08 05:49:37
【问题描述】:
考虑 Oracle emp 表。我想用department = 20 和job = clerk 获得最高薪水的员工。还假设没有“empno”列,并且主键涉及许多列。你可以这样做:
select * from scott.emp
where deptno = 20 and job = 'CLERK'
and sal = (select max(sal) from scott.emp
where deptno = 20 and job = 'CLERK')
这可行,但我必须复制测试 deptno = 20 和 job = 'CLERK',我想避免这种情况。有没有更优雅的方式来写这个,也许使用group by?顺便说一句,如果这很重要,我正在使用 Oracle。
【问题讨论】: