Mysql

来源:互联网 发布:知了为什么是这个知 编辑:程序博客网 时间:2024/06/16 21:34

Mysql 数据过滤时,可以使用AND,OR操作符进行复杂SELECT查询,但是,随之而来的有一些问题,例如即将讲到的计算次序问题。AND,OR操作符的基本知识就不啰嗦了。

切入正题:


首先,让我们来看一下,即将过滤数据列的所有数据,如下图所示:

接下来,使用SELECT语句使用AND,OR操作符组合建立一个WHERE过滤语句,要求:筛选出credit数据值为4或者6 而且 cname 值为' 数据结构 '的返回结果,如下:

这个结果,明显不是我想要的结果,那么问题出在哪呢? 其实:AND在计算次序中的优先级最高,才导致结果与预期不符的情况,那么如何解决这个情况呢?

' 在WHERE语句中使用圆括号 ' ,具体如下:

注意:绿色线框内的优先级最高,再者执行红色线框的命令.


小结:WHERE过滤数据时,特别是复合过滤时,一定要加圆括号。尽管,有些优先次序时明显的,不用改动的,在这里我也建议你加上圆括号,因为你的代码不仅仅给你自己看。

原创粉丝点击