用到sql模糊查询时,发现之前数据库课上学到的东西又还给老师了,就重温一下。。。
先举两个例子,最后有like表达式的具体介绍:
1、查询所有以“数据”开头的课程名
select Cname
from course
where Cname like '数据%';
2、查询姓李并且姓名只有两个汉字的学生的学号和姓名
select Sno,Sname
from student
where Sname like '李--';
3、查询以C-打头的课程的详细信息
select *
from course
where Cname like 'C\-%' escape '\'
根据名称模糊查询,用到like表达式,like表达式的一般形式为:
<匹配值>【not】like <模式>【escape <‘转义字符’>】
<匹配值>是数据库中的属性,<模式>是字符串常量,它们两个能进行比较;<模式>中允许使用通配符。
有两种通配符:
1、‘-’ (下横线)可以与单个字符匹配。
2、‘%’(百分号)可以与零个或多个字符匹配
escape<’换码字符‘> 例如:escape '\',它定义“\”为转义字符,将紧随其后的一个字符进行转义。
如果“-”或者“%”紧跟在“\”后面,就失去了通配符的意义,只取其字面意义。