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

MySQL查询实现:排除含'foo'条目但保留'foo bar'的方法

MySQL查询语句实现需求

可以通过组合WHERE条件精准筛选符合要求的数据,以下是两种常用的写法:

写法一:直接指定保留项+排除特定前缀的其他值

SELECT *
FROM your_table
WHERE column_name = 'foo bar' 
   OR column_name NOT LIKE 'foo%';

逻辑说明:

  • column_name = 'foo bar':明确保留值为foo bar的条目
  • column_name NOT LIKE 'foo%':保留所有不以foo开头的条目,自然排除了仅为foo和foo xxx这类以foo开头的其他值

写法二:反向排除不符合要求的条目

SELECT *
FROM your_table
WHERE NOT (
    column_name = 'foo' 
    OR (column_name LIKE 'foo %' AND column_name != 'foo bar')
);

逻辑说明:

  • 括号内定义了需要排除的两类数据:
    1. column_name = 'foo':排除仅含foo的条目
    2. column_name LIKE 'foo %' AND column_name != 'foo bar':排除以foo (foo加空格)开头但不是foo bar的条目(即foo xxx这类情况)
  • 外层的NOT反转排除规则,最终得到符合要求的数据

示例验证

假设表中有以下数据:

column_name
foo
foo bar
foo test
hello world
foo xxx

执行上述任一语句后,返回结果为:

column_name
foo bar
hello world

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:54:39