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

MySQL如何返回特定查询结果?自关联表替换manager_id为对应名称

自引用表替换manager_id为对应名称的SQL查询

当前表结构与数据

id name   manager_id
1  mike   5
2  lisa   3
3  tom    NULL
4  andy   3
5  brian  NULL

期望结果

id  name  manager_id
1   mike  brian
2   lisa  tom
3   tom   NULL
4   andy  tom
5   brian NULL

解决方案

使用**自连接(LEFT JOIN)**实现,通过关联同表的id和manager_id字段,将manager_id对应的名称替换进来,同时保留NULL值:

SELECT 
    e.id,
    e.name,
    m.name AS manager_id
FROM 
    你的表名 e
LEFT JOIN 
    你的表名 m ON e.manager_id = m.id;

说明

  • 用LEFT JOIN而非INNER JOIN,是为了确保manager_id为NULL的记录不会被过滤,依然保留在结果集中
  • 将你的表名替换成实际的表名称即可执行
  • 最终结果中,manager_id列会显示对应管理者的名称,原NULL值保持不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:15:33