这不属于任何特定语言,而是逻辑。我只使用SQL作为例子:我有2个子句:
(1)A1和A2在哪里
(2)在哪里A1或A2
在(1)情况下,在检查A1为假之后会查询停止吗? 在(2)的情况下,在检查A1为真之后会查询停止吗?
如果有人问过,请将此标记为重复。
谢谢
答案 0 :(得分:6)
你有错误的想法。 SQL查询表示结果集,而不是发生的处理。因此,where
子句不代表一组特定的指令。这些条款可以按任何顺序执行。
尽管如此,大多数数据库都会对此类评估进行短路。因此,执行通常会使用确定条件的第一个子句(true或false)停止。
答案 1 :(得分:2)
你所描述的内容被称为“短路”,我确信它因语言而异,但我知道JavaScript和ColdFusion都表现得像你描述的那样。
SQL依赖于实现: