SQL 查找匹配项

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

你想从编号为 1020 的两个部门中找到名字中含有字母 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 的后面加上 %

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程