06 数据过滤where
where
1.比较运算符
2.连接多个where语句 逻辑运算符 AND OR IN NOT 记得使用括号
3.通配符 like ‘% _’ %为0-n _至少至少匹配一个
例一:
in函数的使用
使用DATE将字段转为日期类型
SELECT name, role_main, role_assist, hp_max, mp_max, birthdate
FROM heros
WHERE (role_main IN ('法师', '射手') OR role_assist IN ('法师', '射手'))
AND DATE(birthdate) NOT BETWEEN '2016-01-01' AND '2017-01-01'
ORDER BY (hp_max + mp_max) DESC
例二:
找除了第一个字含太以外的,含太的英雄
SELECT name FROM heros where name like '_%太%';
通配符可以让我们对文本类型的字段进行模糊查询,不过检索的代价也是很高的,通常都需要用到全表扫描,所以效率很低。只有当 LIKE 语句后面不用通配符,并且对字段进行索引的时候才不会对全表进行扫描,所以我们会考虑在 WHERE 及 ORDER BY 涉及到的列上增加索引。