中博教育教育 主页 > 中博教育学校 > 校区新闻 > 正文

徐州中博教育课堂教你模糊查询

2016-08-17 11:45 点击咨询

模糊这个词大家大概都能理解,就是不确定的,含糊的,在我们的数据库查询中,可能也会遇到类似于:在学生表中查找所有地址中带有‘北京’二字的地址信息。就可以用到模糊查询。但是教我们的中博教育的老师说,查询的条件要尽可能的具体,因为模糊查询的效率低,能不用尽量不用,而且使用模糊查询对数据库的操作困难比较大。



使用模糊查询就不得不先说到这通配符:
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,在子查询中也比较常用,表示的是要查询的结果是在一个范围内。

试听课
徐州市中博教育培训中心    版权所有    苏ICP备13053530号
地址:徐州市解放南路181号中博教育徐州中博(六中对面)        矿大校区地址:徐州市解放南路中国矿业大学(文昌校区西校区)
电话:0516-85628888        邮编:221000

苏公网安备 32030302000208号