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