真的有办法实现这个目标吗?我在最近的一次采访中被问到了这个问题,但是当我有机会提问时,我忘了问采访者解决方案。
我已经尝试了所有可能的方法来做到这一点,但似乎无法在不使用子查询的情况下找到方法。我需要显示姓名和工资,而不仅仅是工资。
答案 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;