什么是模糊查询
通俗来讲点,模糊查询就是你想要查找一个模糊的值,它是一个大概的,不是很明确的。例如查询所以姓张的学生的姓名,或者成绩在60到80分之间的学生,这种查询不是指定某个人的姓名,一个具体的时间或固定的地点,这样的查询就叫模糊查询。
使用LIke进行模糊查询
注:LIKE运算符用于匹配字符串或字符串的一部分。所以like运算符只用于字符串
使用like进行查询时首先得学会利用通配符编写约束
通配符 | 描述 |
_ | 仅替代一个字符 |
% | 任意长度的字符串 |
[ ] | 字符列中的任何单一字符 |
[^] | 不在字符列中的任何单一字符 |
like运算符在进行数据更新,删除或者查找的时候也可以使用进行查询
例如:查询表中所有姓张的学生的信息
select * from student where sname LIKE '张%';
例如:查询表中所有叫张某某的学生的信息
select * from student where sname LIKE '张__';
例如:查询表中所有叫张三和张四的学生的信息
select * from student where sname LIKE '张[三,四]';
例如:查询表中所有不姓张的学生的信息
select * from student where sname LIKE '[^张]%';
注:使用 _ 运算符时应注意所查询列的数据类型,如果是char类型的话,多余部分会被空格填充,而空格也算一个字符,所以有时会出现查不出来的情况。
使用BETWEEN进行模糊查询
使用between关键字可以查找那些介于两个已知值之间的一组未知数。要实现这种查找,必须得知道查找的初值与终值,并且初值要小于终值,初值和终值用and关键字分开。
例:查找年龄40到60岁之间的信息
select * from employe where age between 40 and 80;
如果将更大的写在前面的话,虽然不会报错,但也不会查询到任何信息。
提示:可以使用NOT来对限制条件进行取反操作。