±

SQL 运算符

SQL 常用运算符与谓词速查。

本地处理 · 不上传

加载工具中…

相关:SQL运算符 · LIKE · BETWEEN · IN · 谓词

SQL 运算符速查列出比较、逻辑、算术与模式匹配运算符,含 LIKE、IN、BETWEEN 与 NULL 相关的特殊行为。

使用步骤

  1. 按比较、逻辑、集合、模式匹配分类定位
  2. 注意 NULL 参与比较的结果既不是真也不是假
  3. IN 与 EXISTS 在大数据量下性能差别明显
  4. LIKE 的通配符前置会让索引失效

使用场景

  • 编写查询条件
  • 理解 NULL 的比较行为
  • 使用模式匹配
  • 查找运算符的正确写法

小贴士

  • NULL 与任何值比较(包括另一个 NULL)结果都是未知而非真。判断为空必须用 IS NULL,用 = NULL 永远不会匹配。
  • NOT IN 遇到列表中含 NULL 时会返回空结果,这是极隐蔽的坑,改用 NOT EXISTS 更安全。
  • LIKE 以通配符开头(如 '%abc')无法使用索引,大表上会导致全表扫描。

常见问题

为什么 = NULL 查不到数据?

因为在 SQL 的三值逻辑中,NULL 表示「未知」,与任何值比较的结果都是未知而非真。判断空值必须用 IS NULL 或 IS NOT NULL。

NOT IN 为什么没结果?

如果 IN 的列表中含有 NULL,NOT IN 的结果对所有行都是未知,因而返回空集。这个行为极其隐蔽。改用 NOT EXISTS 可以避免,它对 NULL 的处理符合直觉。

LIKE 会用索引吗?

通配符在末尾('abc%')时可以使用索引;通配符在开头('%abc')时无法使用,会全表扫描。需要前后模糊匹配的场景应考虑全文索引或专门的搜索引擎。

SQL 运算符是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用SQL 运算符,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。