sql语言之模糊查询

模糊查询用于将查询条件模糊,匹配符合模糊匹配条件的记录,跟于where字句。还是以前面的学生数学成绩表为例来讲解模糊查询。

我们有StudentScoreInfo表如下:

sql语言之模糊查询_第1张图片

案例一:我们需要匹配所有王姓学生的记录

代码如下:

select * from StudentScoreInfo where StuName like '王%'

以上语句用于查询出StuName字段第一个字符为“王”后面紧跟0个或者多个任意字符的记录

代码执行结果如下:

sql语言之模糊查询_第2张图片


案例二:我们需要查询出StuName字段第一个字符为“王”后面紧跟任意字符,然后最后一个字符为“风”的记录信息

select * from StudentScoreInfo where StuName like '王_风'

以上语句中“_”的是匹配任意一个字符

执行上面代码得到的结果集如下:



案例三:我们需要查询出StuName字段中有"''"(单引号)的数据

由于前面我们给的StudentScoreInfo表中的数据没有单引号,我们先加入一条带单引号的数据:

执行代码:insert into StudentScoreInfo (Id,StuName,mathScore) values(12,N'王大''侠',148)

然后我们执行查询语句进行查询:

代码:

select * from StudentScoreInfo where StuName like N'%''%'

执行结果如下:


结论:在SQL语言的字符串中,两个单引号代表一个单引号


案例四:查询出姓王或者姓李的学生的成绩信息

代码:

select * from StudentScoreInfo where StuName like N'[王李]%'

执行获得的结果集如下:

sql语言之模糊查询_第3张图片


案例五:查询出成绩表中姓名带“[”的数据

首先我们需要加入一条带"["的数据

代码:insert into StudentScoreInfo (Id,StuName,mathScore) values(13,N'周[小',123)

代码:

select * from StudentScoreInfo where StuName like N'%[[]%'

执行得到的结果集如下:



总结:在SQL的模拟匹配字符串中"[]"代表一个字符位,里面框着的是这个字符位要匹配的字符。

你可能感兴趣的:(心得)