3

我相信有人可以快速为我解决这个问题。我确定我不是第一个提出这个问题的人,但我还没有找到类似的东西。

具有以下 WHERE 语句:

WHERE boolean_expression1 OR boolean_expression2 OR subquery_count > 0

这是这样执行的吗?:

  • if (boolean_expression1 = true) -> 以 true 退出
  • else if (boolean_expression2 = true) -> 以 true 退出
  • else -> 执行子查询?

我的意思是:是否仅在前面的表达式都为假时才执行子查询?如果没有,有什么办法可以确保这一点?

因为在我的情况下子查询可能非常昂贵。

提前谢谢,克里斯

4

1 回答 1

0
WHERE case when boolean_expression1 then 1
else case when boolean_expression2 then 1
else when subquery_count > 0 then 1 end = 1
于 2013-06-14T08:47:46.577 回答