在where子句中,当我们不知道准确的查询条件时,可以使用LIKE关键字和通配符组成比较特定数据的搜索模式对文本字段进行模糊查询。
通配符是用于匹配字符串中的一部分字符的特殊符号,同时使用LIKE关键字在WHERE子句中构成查询条件。
模糊查询只能用于文本字段(字符串),非文本数据类型字段不能使用通配符进行模糊查询。
语法格式:
select <字段名列表> from 表名 where 字段名 like <通配符>;
百分号(%)
当不确定需要匹配的字符数量时,可以使用百分号%来匹配0个或多个字符。
下划线(_)
当明确知道需要匹配的字符数量时,可以使用下划线_,一个下划线匹配一个字符,通配符的位置应该跟需要匹配的字符位置一致。
示例:
#查询姓李的学生信息
select * from stu where s_name like '李%';
#查询姓名中第二个字符为“菊"的学生信息
select * from stu where s_name like '_菊%';
使用通配符的技巧
使用通配符进行模糊查询一般要比其他条件查询耗费更长的处理时间,所以我们要注意使用通配符的方法。
- 不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
- 在确实需要使用通配符时,也尽量不要把它们用在搜索模式的开始处。把通配符置于开始处,搜索起来是最慢的。
- 注意通配符的位置。如果放错地方,可能不会返回想要的数据。