±
SQL 运算符
SQL 常用运算符与谓词速查。
本地处理 · 不上传
加载工具中…
相关:SQL运算符 · LIKE · BETWEEN · IN · 谓词
SQL 运算符速查列出比较、逻辑、算术与模式匹配运算符,含 LIKE、IN、BETWEEN 与 NULL 相关的特殊行为。
使用步骤
- 按比较、逻辑、集合、模式匹配分类定位
- 注意 NULL 参与比较的结果既不是真也不是假
- IN 与 EXISTS 在大数据量下性能差别明显
- 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 运算符,我的数据安全吗?
安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。