数据库操作select语句使用and和or操作符计算次序问题

例句:select 列名 from 表名 where 条件1 or 条件2 and 条件3

SQL在处理or操作符之前,优先处理and操作符,如此例中,会优先查找满足条件2和条件3的数据,然后再查找出满足条件1的.若要解决这个问题,可以使用圆括号明确的分组相应的操作符.

如:select 列名 from 表名 where ( 条件1 or 条件2 ) and 条件3

注意:在使用具有AND和OR操作符的where子句中都应使用圆括号明确的分组操作符,不要过分依赖默认计算次序,即使它确实是你想要的东西也是如此.使用圆括号没有什么坏处,它能消除歧义.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容