可能重复:
Is the SQL WHERE clause short-circuit evaluated?
如果我们这么做
SELECT * FROM Business WHERE Latitude < 9 AND Latitude > 10例如,如果纬度是8,那么会调用8吗?
在mysql中呢?
核心数据呢?
它是依赖于SQL实现,还是有一个明确的标准,即如果AND语句中的一个为false,则在where子句中将不会执行其余语句。
我问这个是为了知道我是否能节省一些计算能力。表示表达式后的第一个,是昂贵的计算,如计算距离。
发布于 2011-08-01 09:20:52
警告:脚踏实地的答案
您可能弄错了,使用OR (实际上,条件Latitude < 9 AND Latitude > 10是没有意义的)。
在大多数语言中这是按如下方式实现的:每个条件都被检查,直到其中一个条件为真(我相信SQL - RDBMS)
)。
因此,您可能想要编写以下条件:
Latitude < 9 OR Latitude > 10相当于:
NOT(Latitude >= 9 AND Latitude <= 10)https://stackoverflow.com/questions/6896225
复制相似问题