当前位置: 数据库>sqlserver
sql语句not and or执行顺序(实例解析)
来源: 互联网 发布时间:2014-08-29
本文导语: 本节内容: sql语句not and or的执行顺序。 通过实例学习sql语句逻辑运算符优先级。 首先,sql语句中逻辑运算符优先级跟c一样,not > and > or (c里面是 ! > && > || ) 举例: 代码示例: select * from table_name where a = 1 and b = 2 or c = 3; ...
本节内容:
sql语句not and or的执行顺序。
通过实例学习sql语句逻辑运算符优先级。
首先,sql语句中逻辑运算符优先级跟c一样,not > and > or (c里面是 ! > && > || )
举例:
代码示例:
select * from table_name where a = 1 and b = 2 or c = 3;
本来想实现:
在table_name表里选择a = 1 并且 (b = 2 或者 c = 3)的结果集,但是结果肯定不和我想的一样,结果集是 (a = 1 并且 b =2 ) 的结果集或者 c = 3的结果集
因为sql的执行顺序为:
代码示例:
select * from table_name where (a = 1 and b = 2) or c = 3;
想得到预期的效果:
代码示例:
select * from table_name where a = 1 and (b = 2 or c = 3);
注意:
在写c或者php代码时,为了代码简洁竟然通过&& || !各种组合达到想要的结果,但是写sql语句时还是小心一些为好,毕竟sql注入也是基于此原理。
sql里建议多用()来改变执行顺序,以获取需要的结果。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。