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

如何将MySQL子查询转换为JOIN以获取未屏蔽的MatchId

用JOIN实现未被屏蔽的Match_Id查询

可以使用LEFT JOIN结合IS NULL条件替代原有的NOT IN子查询,实现相同需求:

SELECT M.Match_Id
FROM match M
LEFT JOIN block B 
  ON M.Match_Id = B.Block_Id 
  AND B.Block_Id IS NOT NULL
WHERE M.User_Id = '1'
  AND B.Block_Id IS NULL;

逻辑说明:

  • 通过LEFT JOIN将MATCH表与BLOCK表按Match_Id和Block_Id关联,同时过滤掉BLOCK表中Block_Id为NULL的记录(与原查询子查询条件对应)
  • 利用B.Block_Id IS NULL筛选出BLOCK表中无对应屏蔽记录的Match_Id,再叠加用户ID为'1'的条件,得到目标结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:20:16