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

如何编写SQL Server查询实现#temp_table的指定行精准排除?

正确SQL查询写法

你的原查询逻辑出错了:第二个条件(column2 !='jim' and column1 != 'value2')会把所有column2为jim的行都过滤掉(包括id=6的行),但你实际只需要排除**column2='jim'且column1='value2'**这一行。

以下两种写法都能满足需求:

写法一:用NOT包裹排除条件

select * from #temp_table
where column2 != 'mark'
    and NOT (column2 = 'jim' and column1 = 'value2')

写法二:利用德摩根定律拆分条件

select * from #temp_table
where column2 != 'mark'
    and (column2 != 'jim' OR column1 != 'value2')

这两个语句都会返回id为3、4、6的行,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:13:18