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

MySQL查询求助:两张表关联如何同时返回匹配和非匹配的所有行

实现全量返回两张表关联数据的MySQL查询方案

你当前使用的INNER JOIN为内连接,仅返回两张表Mobile字段匹配的行,若要保留两张表所有行、无匹配字段填充NULL,属于全外连接的需求。MySQL原生不支持标准SQL的FULL OUTER JOIN语法,可通过左连接与右连接结果去重合并的方式实现,最终查询语句如下:

SELECT f.Mobile, f.Name, f.address, s.city
FROM firsts f
LEFT JOIN second s ON f.Mobile = s.Mobile

UNION

SELECT s.Mobile, s.Name, f.address, s.city
FROM firsts f
RIGHT JOIN second s ON f.Mobile = s.Mobile

逻辑说明

  • 第一段LEFT JOIN完整保留firsts表全部数据,匹配成功返回对应的s.city值,未匹配则s.city填充NULL
  • 第二段RIGHT JOIN完整保留second表全部数据,UNION操作会自动剔除两段查询中重复的匹配行,最终得到两张表的全量关联结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:09:01