SQL中=与IS的区别:关键用法解析

=IS 在 SQL 里职责完全不同,只有对 NULL 的真假判断才必须用 IS ;其余场景用 =,二者不能互换


  1. 比较"值"------只能用 =

    sql 复制代码
    WHERE age = 20
    WHERE name = 'Tom'
  2. 比较"未知/缺失"------只能用 IS

    sql 复制代码
    WHERE age IS NULL
    WHERE age IS NOT NULL
  3. 逻辑结果

    • = NULL 永远返回 UNKNOWN(不会选到任何行)
    • IS NULL 返回 TRUEFALSE,逻辑才正确

结论
= 不可替代 ISIS 也不能替代 =;以后写 SQL 仍得分清场合,该用谁就用谁。

相关推荐
二哈赛车手8 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~8 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8298 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
星星也在雾里9 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
未若君雅裁10 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记11 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI11 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
长城202411 小时前
关于MySql的ONLY_FULL_GROUP_BY问题
数据库·mysql·聚合列
常常有11 小时前
MySQL 底层执行原理:输入SQL语句到两阶段提交
数据库·sql·mysql