SQL 查找匹配项,你想返回匹配某个特定字符串或模式的行。考虑下面的查询及其结果集。
SQL 查找匹配项 问题
你想返回匹配某个特定字符串或模式的行。考虑下面的查询及其结果集。
select ename, job
from emp
where deptno in (10,20)
ENAME JOB
---------- ---------
SMITH CLERK
JONES MANAGER
CLARK MANAGER
SCOTT ANALYST
KING PRESIDENT
ADAMS CLERK
FORD ANALYST
MILLER CLERK
你想从编号为 10
和 20
的两个部门中找到名字中含有字母 I
或职位以 ER
结尾的人。
ENAME JOB
---------- ---------
SMITH CLERK
JONES MANAGER
CLARK MANAGER
KING PRESIDENT
MILLER CLERK
SQL 查找匹配项 解决方案
结合使用 LIKE
运算符和 SQL 通配符 %
。
select ename, job
from emp
where deptno in (10,20)
and (ename like '%I%' or job like '%ER')
SQL 查找匹配项 扩展知识
被用于 LIKE
模式匹配操作时,运算符 %
可以匹配任意长度的连续字符。大多数 SQL 实现也提供了下划线(_
)运算符,用于匹配单个字符。通过在字母 I
前后都加上 %
,任何(在任意位置)出现 I
的字符串都会被检索出来。如果没有使用 %
把检索模式围起来,那么 %
的位置会影响查询结果。例如,为了找到以 ER
结尾的职位,就需要在 ER
的前面加上 %
;如果是要找以 ER
开头的职位,那就应该在 ER
的后面加上 %
。