MySQL:where子句过滤

一、单一条件:select 列 from 表 where 条件

eg: select prod_name,price from products where price>50

这里的比较条件包括:

 

 注意:

列类型为串类型时,值要加引号;

具有NULL值的行在匹配过滤和不匹配过滤都不会返回,要根据需要单独处理,示例如下:

全部行:

 

不匹配过滤出的行:

 

 

匹配过滤出的行:

 

 

二、多个条件

1、select 列 from 表 where 条件1 AND(OR) 条件2

注意:SQL优先计算AND,所以组合AND OR时建议根据需要次序加括号,避免问题

2、IN操作符,与OR功能相同,更加简洁快速,还可以包含其他select子句

3、Not操作符

MySQL支持NOT对IN,BETWEEN,EXISTS子句取反

 

三、用通配符过滤

select prod_name from products where prod_name like '%aaa%'

%可匹配0个、1个、多个字符,不能匹配NULL

_可匹配1个字符

注意:

不要过度使用通配符,尽量不放在搜索开始,仔细注意通配符位置。否则影响查询性能,具体原因会到索引介绍时讲解。

posted @ 2019-10-24 11:51  贾力  阅读(337)  评论(0编辑  收藏  举报