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

SQL技术问询:WHERE子句C2<>4时返回记录数及NULL值是否被统计?

问题分析与解答

首先先明确表T1的原始数据:

C1 C2
1 NULL
11 NULL
111 3
12 4
122 4
12 5

接下来看目标查询语句:select * from T1 where C2<> 4

核心知识点:SQL中NULL的比较规则

在SQL里,NULL代表“未知值”,它和任何值(包括另一个NULL)进行比较时,结果既不是TRUE也不是FALSE,而是UNKNOWN。而WHERE子句只会筛选出条件结果为TRUE的记录,UNKNOWN的记录会直接被排除。

逐条分析每条记录是否符合条件

  • 第一条:C2=NULL → 和4比较结果为UNKNOWN → 不被选中
  • 第二条:C2=NULL → 同上 → 不被选中
  • 第三条:C2=3 → 3≠4,结果为TRUE → 被选中
  • 第四条:C2=4 → 4≠4,结果为FALSE → 不被选中
  • 第五条:C2=4 → 同上 → 不被选中
  • 第六条:C2=5 →5≠4,结果为TRUE → 被选中

最终结论

这条查询语句会返回2条记录,所有C2为NULL的记录都不会被计入统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:03:33