首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第二个条件是否检查第一个条件是否在多个条件中为SQL中的记录找到假条件?

第二个条件是否检查第一个条件是否在多个条件中为SQL中的记录找到假条件?
EN

Stack Overflow用户
提问于 2016-10-27 07:18:18
回答 2查看 3K关注 0票数 1

如果SQL查询的where子句中有多个条件和条件,如果第一个条件为记录找到false,那么它是否会检查另一个条件和条件。

在编程中,我们使用&&操作符来检查多个条件,如果第一个条件被发现为false,那么它就不属于另一个条件,那么我的查询是它是否也适用于SQL条件?

示例:

代码语言:javascript
复制
Select * from tablename where column is not null and column > 0 and column <> 1
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-27 07:25:04

SQL是声明性的。不是程序上的。

优化器可以使用短路评估,也可以不使用短路评估。

它也可能把它转化成不同的东西。如果column是整数类型,则所有三种条件都折叠为

代码语言:javascript
复制
WHERE column > 1

类似地,优化器可能会发现,通过查询中的check约束或其他谓词,可以保证某些条件为true或false,并且根本不需要计算。或者使用保证所有行与谓词的一部分匹配的访问路径(如筛选索引),因此不需要运行时计算。

票数 4
EN

Stack Overflow用户

发布于 2016-10-27 07:30:55

它会看起来像这样

代码语言:javascript
复制
SELECT * FROM tablename 

WHERE (column != null AND column  <> 1) AND (column   > 0)
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40278479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档