You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL自表比较:基于emp表实现左低右高的薪资人员配对查询

SQL实现员工按薪资高低两两配对方案

实现逻辑

核心是利用表自连接完成配对筛选:

  • 给emp表设置两个不同别名,分别代表配对的左侧(低薪)和右侧(高薪)对象
  • 通过连接条件限制左侧薪资必须小于右侧薪资,自动排除自身配对、反向重复配对的无效数据
  • 按薪资排序输出即可得到符合要求的结果

具体SQL代码

SELECT 
  a.ename,
  b.ename
FROM emp a
INNER JOIN emp b 
  ON a.sal < b.sal
ORDER BY a.sal, b.sal;

样例执行说明

针对你提供的测试数据,SQL执行流程如下:

  1. 当左表取Jack(薪资500)时,右表可匹配到所有薪资大于500的Smith、Mark,输出两行Jack Smith、Jack Mark
  2. 当左表取Smith(薪资1000)时,右表可匹配到薪资大于1000的Mark,输出一行Smith Mark
  3. 当左表取Mark(薪资2000)时,不存在薪资更高的员工,无匹配输出
    最终结果和你给出的预期完全一致。

扩展说明

如果存在薪资相同的员工,且需要同薪资也完成不重复配对,可修改连接条件为:

ON a.sal < b.sal OR (a.sal = b.sal AND a.ename < b.ename)

该条件可避免同薪资的两个员工出现双向重复配对的问题。

内容的提问来源于stack exchange,提问作者Lara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:39:03