我有一张员工表。请在下面的表格结构中找到数据。
我想找到最高工资和最低工资以及员工姓名。
预期输出将是:
为了找出最高工资以及员工姓名,我编写了以下查询:
SELECT name,salary FROM employee where salary
= (select max(salary) from employee);
为了找出最低工资和员工姓名,我写了这个查询:
SELECT name,salary FROM employee where salary
= (select min(salary) from employee);
但我无法合并这两个查询。
有人可以指导我构建将返回最高工资和最低工资以及员工姓名的 SQL 查询吗?
原文由 Bacteria 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一种方法,使用
RANK
。这个答案在 CTE 中通过一次,以找到员工表中排名最低和最高的薪水。然后,它只进行一次子查询以检索完整的匹配记录。演示