模糊这个词大家大概都能理解,就是不确定的,含糊的,在我们的数据库查询中,可能也会遇到类似于:在学生表中查找所有地址中带有‘北京’二字的地址信息。就可以用到模糊查询。但是教我们的中博教育的老师说,查询的条件要尽可能的具体,因为模糊查询的效率低,能不用尽量不用,而且使用模糊查询对数据库的操作困难比较大。
使用模糊查询就不得不先说到这通配符:
1._ 一个字符 A LIKE 'C_'。要查询的字符是C加上一个任意一个字符。
2.% 任意长度的字符串 B LIKE 'CO%'。要查询的字符串是CO后面加上任意字符长度的字符串。
3.[] 括号中所指定范围内的一个字符 C LIKE '9LA[1-2]'。要查询的字符前三个是9LA加上1或者2中的任意一个数字。
4.[^]不在括号中所指定范围内的一个字符 D LIKE '9W0[^1-2]'。要查询的字符是9WO加上后面不是不是数字1或者2的字符。
1.Like:
例如:查找学生信息中所有姓张的同学的信息
SELECT * FROM Students
WHERE 姓名 like '张%'
把Students表中某些行的Address列值删掉后,使用IS NULL能查询出来这些数据:
SELECT SName As 姓名, SAddress AS 地址
FROM Students
WHERE SAddress = ' '
2.Between and:
SELECT StudentID, Score FROM Score WHERE Score
BETWEEN 60 AND 80
错误写法:BETWEEN 80 AND 60 查不到信息
3.In:
SELECT SName AS 学生姓名,SAddress AS 地址
FROM Students
WHERE SAddress IN ('北京','广州','上海')
总结:模糊查询中的between…and…,等价于我们数学中学到的区间,使用between X and Y表示范围的话,左右两边的范围取值都是能取到的,也相当于>=X并且<=Y。模糊查询中的in,在子查询中也比较常用,表示的是要查询的结果是在一个范围内。
