首先我们创建一个Person表。

create table Person(
       cname varchar2(50),
       cage number(3)
);

        插入一些数据:

insert into Person (cname,cage) values('张三',19);
insert into Person (cname,cage) values('张三丰',20);
insert into Person (cname,cage) values('张一',30);
insert into Person (cname,cage) values('慕容张三',17);

        当我们知道一个人的完整名字去查询一个人时:

select * from Person where cname='张三';

        这样我们就可以查询到名为张三的信息了。但是这里就有一个缺点,我们每次查询都必须要知道全名才能查询到该姓名在表中的信息,那假如我只知道他姓张或者是张某怎么办呢?我们就要用到模糊查询了。

        模糊查询就需要用到like操作符。另外还有两个通配符。

1.%通配符。%表示出现任意字符,出现的字符数可以是0,1,无数。

2._通配符。_表示出现有且仅有一次字符。

        

        (1)我们来查找一下姓名含张的信息。就会发现可以在张前后使用%通配符,因为不是张的前后是否有字符的出现,就可以用%表示

select * from Person where cname like '%张%';

查询结果:

         

        (2)查询姓张的人的信息。这时,势必张前面是没有字符,我们不知道张后面有多少个字符,我们在张后面用%表示。

        

select * from Person where cname like '张%';

查询结果: 

        

        (3)在表中查询张某的信息。这时,我们知道张后面只有一个字符,我们就可以用_通配符了。

        

select * from Person where cname like '张_';

        查询结果:

         

        

        

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐