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

MySQL表连接查询求助:合并models与types表为指定输出

MySQL关联查询解决方案

没问题,我来帮你搞定这个MySQL关联两张表的需求!

首先我先基于这类需求的常见表结构做假设(如果你的字段名/关联键和下面不一样,只需要对应调整就行):

  • models表:包含模型ID、模型名称、关联类型的外键(比如model_id, model_name, type_id)
  • types表:包含类型ID、类型名称(比如type_id, type_name)

1. 只返回有对应类型的模型(INNER JOIN)

如果你的目标输出只需要保留那些有匹配类型的模型,用INNER JOIN就可以,它会只返回两张表中关联匹配的行:

SELECT 
    m.model_id,
    m.model_name,
    t.type_name
FROM 
    models m
INNER JOIN 
    types t ON m.type_id = t.type_id;

2. 保留所有模型,无对应类型时显示默认值(LEFT JOIN)

如果需要保留所有模型记录,哪怕某个模型没有对应的类型(此时类型名称会显示NULL),可以用LEFT JOIN,还能通过COALESCE把NULL替换成你想要的默认文本:

SELECT 
    m.model_id,
    m.model_name,
    COALESCE(t.type_name, '无类型') AS type_name
FROM 
    models m
LEFT JOIN 
    types t ON m.type_id = t.type_id;

小提示

  • 我用了表别名(m代表models,t代表types),这样写出来的SQL更简洁易读
  • 核心是ON子句里的关联条件,你需要确保这里写的是两张表之间的关联字段(比如外键和主键的对应关系)
  • 如果你的表字段名和我假设的不同,比如模型表的关联字段叫category_id,类型表的主键叫category_id,只需要把ON m.type_id = t.type_id改成ON m.category_id = t.category_id就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:28:34