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 的后面加上 %。
极客教程