mysql条件查询and or使用实例及优先级介绍

时间:2016-09-02
mysql中and和or用于进行与和或运算,经常与where一起作为条件查询,在where条件查询语句中,我们可以包含任意数目的and和or操作符,本文章向大家介绍mysql条件查询and or使用实例及他们之间的优先级,需要的朋友可以参考一下。

mysql and与or介绍

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

使用OR关键字时:

  • 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来。
  • 如果不符合这些查询条件中的任何一条,这样的记录将被排除掉。

使用and关键字时:

  • 需要符合所有条件,这样的记录就会被查询出来。
  • 如果有任何一个条件不符合,这样的记录将被排除掉。

mysql and与or实例

本实例中需要使用到的表数据如下:

title content category seo_name
php数组 php数组使用分析 1 php
mysql distinct mysql distinct实例 2 mysql
java array java array使用方法 3 java
php input php input如何获值 4 php

(1)AND条件查询运算符实例:

使用 AND 来显示所有title为 "php数组" 并且category为1的数据:

SELECT * FROM ar WHERE title='php数组' AND category='1'

结果:

title content category seo_name
php数组 php数组使用分析 1 php

(2)OR条件运算符实例

使用 OR 来显示所有title为 "java array" 或者seo_name为 "php" 的数据:

SELECT * FROM ar WHERE title='java array' OR seo_name='php'

结果:

title content category seo_name
php数组 php数组使用分析 1 php
java array java array使用方法 3 java
php input php input如何获值 4 php

(3)结合 AND 和 OR 运算符

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

SELECT * FROM ar WHERE (title='java array' OR category='4')
AND seo_name='php'

结果:

title content category seo_name
php input php input如何获值 4 php

and与or优先级

在where中可以包含任意数目的and和or操作符,在没有任何其他符号的时候,例如括号,SQL会首先执行and条件,然后才执行or语句,如:

select * from table from id=1 or id=2 and price>=10;
/*  http://www.manongjc.com/article/1439.html */

这条语句默认执行的是id=2并且price大于等于10的,或者是id=1。

如果加上括号:

select * from table from (id=1 or id=2) and price>=10;

则这条语句执行的是id=1或id=2,并且price大于等于10。