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

MySQL三表关联查询匹配与不匹配记录实现方案咨询

可行的查询语句

SELECT 
    s.name AS `store.name`,
    ats.id AS `article_to_store.id`,
    a.name AS `article.name`
FROM 
    store s
CROSS JOIN 
    article a
LEFT JOIN 
    article_to_store ats 
    ON ats.article_id = a.id AND ats.store_id = s.id
ORDER BY 
    a.id, s.id;

逻辑说明

  1. 先用CROSS JOIN计算门店表和商品表的笛卡尔积,刚好得到3家门店*2件商品=6条基础记录,覆盖所有需要的商品+门店组合
  2. 再用LEFT JOIN关联中间表article_to_store,关联条件同时匹配商品id和门店id,存在关联关系时返回对应中间表的id,没有匹配就返回null,完全符合要求的输出规则
  3. 不需要额外加GROUP BY,不会产生冗余数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:45:03