我正在尝试弄清楚 SQL 查询是如何运行的,但遇到了一些障碍。
如果使用类似于下面的 where 子句:
A 或 B 和 C
这可能意味着以下任何一种
(A 或 B)和 C
或
A 或(B 和 C)
在大多数情况下,结果是相同的,但如果要查询的集合仅包含 {A},第一个变体将返回一个空结果集,第二个变体将返回 {A}。 SQL 实际上确实返回了 1 结果。
有没有人知道(或有链接)任何有助于我理解如何构建查询的见解?
番茄酱
最佳答案
根据MSDN顺序如下:
~ (Bitwise NOT)
(*) (Multiply), / (Division), % (Modulo)
(+) (Positive), - (Negative), + (Add), (+ Concatenate), - (Subtract), & (Bitwise AND), ^ (Bitwise Exclusive OR), | (Bitwise OR)
=, >, <, >=, <=, <>, !=, !>, !< (Comparison operators)
NOT
AND
ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
= (Assignment)
关于SQL查询表达式的优先顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244229/