mysql过滤数据(二)

来源:互联网 发布:php soap header 验证 编辑:程序博客网 时间:2024/06/05 02:42

表test

FieldTypeNullKeyDefaultExtraidint(11)NOPRINULLauto_incrementnamechar(50)NO NULL citychar(50)YES NULL schoolchar(50)YES NULL 

我们可以组合WHERE子句进行更强的过滤控制。

 

AND操作符------用在WHERE子句中的关键字,用来指示检索满足所有给定条件的行。

例如:SELECT * FROM test WHERE name=“john” AND age=30;

这条查询语句匹配name为john并且age为30的所有行。

 

OR操作符-------WHERE子句中使用的关键字,用来表示检索匹配任一给定条件的行

例如:SELECT * FROM test WHERE name="john" OR name="Jim";

此查询语句返回name为john或者name为jim的行。

 

注:AND操作符优先级高于OR

 

IN操作符-----用来指定条件范围,范围中的每个条件都可以进行匹配。IN取值所需的清单位于圆括号中,各个值之间用逗号分隔。与OR功能相当。

例如:SELECT * FROM test WHERE name IN ("JOHN", "tom","jim");

此语句检索name为john,tom,jim的所有行。

使用IN操作符的优点如下:

1.在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。

2.在使用IN时,计算的次序更容易管理(因为使用的操作符更少)。

3.IN操作符一般比OR操作符清单执行更快。

4.IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。

 

NOT操作符------WHERE子句中用来否定后跟条件的关键字。

例如:SELECT * FROM test WHERE name NOT IN ("john","tom");

此语句匹配name不是john和tom的其他行。

 

注:MySQL支持使用NOT 对IN,BETWEEN和EXISTS子句取反。

原创粉丝点击