今天我们来说模糊查询

模糊查询

-- --模糊查询[主要用在搜索中]格式: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

posted on 2019-11-21 15:01  zjlk  阅读(194)  评论(0编辑  收藏  举报