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

如何使用嵌套子查询查询10号分行与30号分行同岗位的员工

SQL查询修正:筛选10号分行与30号分行岗位相同的员工

你当前编写的SQL存在两个核心问题:

  • 内层子查询返回的是员工姓名字段SNAME,和外层用于匹配的JOB字段数据类型完全不匹配,无法完成岗位对齐
  • 没有添加分行筛选条件,既没有限定内层子查询取30号分行的岗位,也没有限定外层查询只返回10号分行的员工

修正后的SQL语句如下:

SELECT SNAME, JOB
FROM STAFF
WHERE 
  -- 限定只查询10号分行的员工
  BRANCH_NO = 10
  -- 匹配30号分行存在的所有岗位
  AND JOB IN (
    SELECT DISTINCT JOB
    FROM STAFF
    WHERE BRANCH_NO = 30
  );

逻辑说明:

  • 内层嵌套子查询先用DISTINCT去重查询30号分行所有存在的岗位,减少无效匹配提升查询效率
  • 外层查询筛选10号分行的员工,仅保留岗位在内层子查询结果范围内的记录
  • 如果你表中的分行字段不是BRANCH_NO,替换为实际的分行字段名称即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:06