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

MySQL查询需求:如何排除指定数据对获取目标结果

解决MySQL排除特定数据对的查询方法

嘿,这事儿好办!你需要从表中排除指定的两组(first_id, second_id)数据对,这里有几种简单直接的写法:

方法一:使用NOT IN结合行构造器

这是最直观的写法,直接把要排除的行对放在NOT IN里:

SELECT first_id, second_id
FROM your_table_name
WHERE (first_id, second_id) NOT IN ((1, 2), (2, 3));

注意:记得把your_table_name替换成你实际的表名哦!

方法二:使用多个条件的否定

如果你的MySQL版本偏旧(不支持行构造器语法),可以用AND组合多个否定条件:

SELECT first_id, second_id
FROM your_table_name
WHERE NOT (first_id = 1 AND second_id = 2)
  AND NOT (first_id = 2 AND second_id = 3);

这种写法兼容性拉满,老版本MySQL也能正常运行。

方法三:使用NOT EXISTS

要是你需要排除的行对特别多,或者要关联其他表逻辑,NOT EXISTS会更灵活:

SELECT t.first_id, t.second_id
FROM your_table_name t
WHERE NOT EXISTS (
    SELECT 1
    FROM (
        SELECT 1 AS first_id, 2 AS second_id
        UNION ALL
        SELECT 2, 3
    ) excluded
    WHERE excluded.first_id = t.first_id
      AND excluded.second_id = t.second_id
);

把要排除的数据放在子查询里,后续新增排除项直接加UNION ALL就行。

执行上面任意一种查询,都能得到你想要的结果:

first_id second_id
1 3
1 4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 19:52:47