我正在阅读this question关于逻辑运算符OR AND的条件和条件顺序WHERE
但是我想扩展这个问题。
问题1:
IF (CONDITION 1) OR (CONDITION 2)
我不是在谈论If CONDITION 1 is TRUE, will CONDITION 2 be checked
但是 - SQL是否有可能根据condition 2
(第二个短语)选择行,而不是condition 1
这是第一个短语?
例如:
columnA columnB
2 2
select * from table where id=columnA or id=columnB
现在,我是否有可能将其评估为首先 id=columnB
问题2:
这个问题讨论了Where
条款。加入怎么样?这些角色是否也适用
select * from Table1 join Table2 on Table1.id=Table2.id or Table1.aa = Table2.aa
condition 2
(第二个短语)而不是condition 1
(第一个短语)产生一行答案 0 :(得分:2)
我不明白你的问题中有关产生行的部分,所以我能回答的唯一部分是:
如果条件1为TRUE,则检查条件2
这取决于。它可能,它可能不会。对于SQL语句的任何部分,都不能保证短路或评估顺序。