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

SQL模糊查询标题时排除指定ID用户条件失效问题求助

SQL逻辑错误诊断与修复方案

错误原因

你的原查询核心问题出在过滤id_card的条件逻辑上:
(id_card != 1 OR id_card != 5) 这个判断是恒成立的:

  • 对于id_card=1的记录,id_card !=5 条件为真,OR运算只要有一个条件为真整体就为真,所以这条记录会通过过滤
  • 对于任意id_card值,都不可能同时等于1和5,所以这个条件永远成立,完全起不到排除1和5的作用
    你删除id_card != 5后,条件变为仅id_card !=1,自然就能排除id=1的记录,所以结果符合预期。

修复方法

有两种常用的正确写法:

写法1:将OR替换为AND

SELECT title, id_card
FROM site
WHERE (title LIKE "%blue%" OR title LIKE "%black%")
  AND (id_card != 1 AND id_card != 5)
ORDER BY id_card ASC;

写法2:使用NOT IN简化语法(可读性更高)

SELECT title, id_card
FROM site
WHERE (title LIKE "%blue%" OR title LIKE "%black%")
  AND id_card NOT IN (1,5)
ORDER BY id_card ASC;

两种写法的执行效果完全一致,都能正确排除id_card为1和5的记录。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:36:05