sql 语句where里面写括号是不是括号里面的条件先匹配?

2025-02-25 15:45:47
推荐回答(5个)
回答1:

这个看情况

比如 a and (b) :a如果不满足的话 ,应该是不会 判断(b) 的情况的。
a 如果满足的话,才会判断 (b) 的条件

(b) 用括号括起来, 并不表示其 计算时间上的先后顺序, 而是逻辑上的 优先级。
用 (b) 的结果 和 a 进行逻辑判断, 而不会 把(b)内部的内容 和 a 放到一起进行 进行判断

回答2:

WHERE的括号和加减乘除里面的括号效果是一样的
你的提问不能够显示出括号的用处

a AND b OR c = (a AND b) OR c 但不等于a AND (b OR c)
a OR b AND c = (a OR b) AND c 但不等于a OR (b AND c)

回答3:

不是这样的,SQL优化有自己的规则,一般是索引字段的条件优先,where条件尽量使用索引字段,执行效率高。

回答4:

(a) AND (B)的意思是表示 a 和 B 里面的条件都需要符合的,a and (b)是表示 b 里面的条件必须全部符合,a 里面的条件包括 or 的话只要部分符合

回答5:

where (a) AND (B)加括号只是起区分运算作用,在这里(a) AND (B)只是两个并列的条件,并没有你所说的:先拿条件a去找,然后找到之后再用b条件去a条件的结果里面再筛选