显示最高收入emp的名称和工资,而不使用任何类型的子查询

时间:2012-09-20 18:54:10

标签: sql rdbms

真的有办法实现这个目标吗?我在最近的一次采访中被问到了这个问题,但是当我有机会提问时,我忘了问采访者解决方案。

我已经尝试了所有可能的方法来做到这一点,但似乎无法在不使用子查询的情况下找到方法。我需要显示姓名和工资,而不仅仅是工资。

3 个答案:

答案 0 :(得分:3)

您可以按工资降序排序整个表,并仅获取第一行。但是,这不是一个非常聪明的面试问题。

答案 1 :(得分:1)

如果您使用的是MySQL,则可以使用限制:

select *
from employee
order by salaray desc
limit 0,1

如果没有实现限制(如在oracle中),我认为如果没有子查询,就有办法做到这一点

答案 2 :(得分:0)

试试这个例子(假设薪水不可为空)

SELECT a.*
FROM employee a
LEFT JOIN employee b
ON b.salary > a.salary
WHERE b.salary IS NULL;