今天我们来说模糊查询
模糊查询
-- --模糊查询[主要用在搜索中]格式:select 字段的集合 from 表名 where 某个字段名 like 匹配条件
--注意:匹配条件通常含有通配符,通配符必须用单引号括起来
--通配符% 表示任意0个或多个字符
select * from emp where ename like '%A%'; // -- 把ename中含有字母A的记录输出
select * from emp where ename like 'A%'; // --把ename中首字母是A的记录输出
select * from emp where ename like '%N'; // --把ename中尾字母是N的记录输出
--通配符_ 表示任意单个字符
select * from emp where ename like '_A%'; //--把ename中第二个字母是A的记录输出
--通配符[a-f] 表示a到f中的任意单个字符,只能是a,b,c,d,e,f中的任意一个
select * from emp where ename like '[A-F]%';//--把ename中第一个字母是A
//--或是B,或是C,或是D
//--或是E,也是F的记录输出
select * from emp where ename like '_[A-F]%'; //--把ename中第二个字母是A
//--或是B,或是C,或是D
//--或是E,也是F的记录输出
--通配符[a,f] 表示a和f两个字符中的任意一个
select * from emp where ename like '[A,F]%'; //--把ename中第一个字母是A
//--或是F的记录输出
select * from emp where ename like '_[A,F]%'; //--把ename中第二个字母是A
//--或是F的记录输出
--通配符[^a-f] 表示不是a到f中的任意单个字符,不是a,b,c,d,e,f中的任意一个
select * from emp where ename like '[^A-F]%'; // --把ename中第一个字母不是A
//-- 也不是B,也不是C,也不是D
//--也不是E,也不是F的记录输出
select * from emp where ename like '_[^A,F]%'; //--把ename中第二个字母不是A
//--也不是F的记录输出
注意:通配符作为不同字符使用的问题,记得后面一定要加escape '\'
***这里的学生表是我自己建立的***
***你们如果想上机实验的话,可以自己顺便建立一个表***
select * from student where sname like '%\%%' escape '\'; //--把sname中含有%的记录输出
select * from student where sname like '%\_%' escape '\'; //--把sname中含有_的记录输出
select * from student where sname like '%\"%' escape '\'; //--把sname中含有"的记录输出
注意在数据库中单引号是个字符串,双引号是一个对象的名字
今天我们就说到这里,下一讲我们来说聚合函数
如果还有什么不懂得,可以加我qq485536603