需求,我要检索出 a =1 或者 b=1 并且 c = 0 或者 c=1 时候的结果
正确写法:
select * from table_name where a=1 or b=1 and (c=0 or c=1);
这样就会先检索a=1 或者 b=1 的结果集,然后再从中获取c=0 或者 c=1的结果集

错误写法:
select * from table_name where a=1 or b=1 and c=0 or c=1;
这样的写法会检索a=1 或者 b=1 或者 c=1 再从中获取c=0的结果,所以我们得用括号将 c=0 or c=1 括起来,防止顺序上出现问题。

Logo

更多推荐