本节内容:
sql语句not and or的执行顺序。
通过实例学习sql语句逻辑运算符优先级。
首先,sql语句中逻辑运算符优先级跟c一样,not > and > or (c里面是 ! > && > || )
举例:
本来想实现:
在table_name表里选择a = 1 并且 (b = 2 或者 c = 3)的结果集,但是结果肯定不和我想的一样,结果集是 (a = 1 并且 b =2 ) 的结果集或者 c = 3的结果集
因为sql的执行顺序为:
想得到预期的效果:
注意:
在写c或者php代码时,为了代码简洁竟然通过&& || !各种组合达到想要的结果,但是写sql语句时还是小心一些为好,毕竟sql注入也是基于此原理。
sql里建议多用()来改变执行顺序,以获取需要的结果。