小兔网

mysql and与or介绍

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

使用OR关键字时:

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

使用and关键字时:

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

 

mysql and与or实例

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

titlecontentcategoryseo_name
php数组php数组使用分析1php
mysql distinctmysql distinct实例2mysql
java arrayjava array使用方法3java
php inputphp input如何获值4php

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

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

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

结果:

titlecontentcategoryseo_name
php数组php数组使用分析1php

(2)OR条件运算符实例

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

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

结果:

titlecontentcategoryseo_name
php数组php数组使用分析1php
java arrayjava array使用方法3java
php inputphp input如何获值4php

(3)结合 AND 和 OR 运算符

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

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

结果:

titlecontentcategoryseo_name
php inputphp input如何获值4php

 

and与or优先级

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

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

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

如果加上括号:

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

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