模糊查询

发布时间:2024年01月25日

目录

like

如果在使用 LIKE 进行限定查询的时候,没有设置任何的关键字,那么表示查询全部

LIKE 可以在任意的数据类型上使用


Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

like

LIKE 可以实现数据的模糊查询操作,如果要想使用 LIKE 则必须使用如下的两个匹配符号

_” :匹配任意的一位符号

%” :匹配任意位的符号(包含匹配 0 位、1 位、多位)??

1.查询员工姓名中以字母 A 开头的所有员工信息

第一个字母A是固定的,而后的内容随意,可以是0位、1位…

SQL> select *
  2  from emp
  3  where ename like 'A%';

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         30

2.查询员工姓名中第二个字母是 A 的所有员工信息

员工姓名中第一位可以任意,但是必须占一位,使用 “_” 。 A后面的位随便,使用 “%”

SQL> select *
  2  from emp
  3  where ename like '_A%';

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30
      7900 JAMES                CLERK                    7698 03-12月-81            950                    30

3.查询员工姓名中任意位置上存在字母“A”的所有员工信息

任意位置是指开头、结尾、中间都可以,因此可以使用“%A%”

SQL> select *
  2  from emp
  3  where ename like '%A%';

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6月 -81           2450                    10
      7900 JAMES                CLERK                    7698 03-12月-81            950                    30

已选择 6 行。

如果在使用 LIKE 进行限定查询的时候,没有设置任何的关键字,那么表示查询全部

SQL> select *
  2  from emp
  3  where ename like '%%';

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12月-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4月 -81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6月 -81           2450                    10
      7839 KING                 PRESIDENT                     17-11月-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         30
      7900 JAMES                CLERK                    7698 03-12月-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12月-81           3000                    20

LIKE 可以在任意的数据类型上使用

SQL> select *
  2  from emp
  3  where ename like '%A' or sal like '%1%' or hiredate like '%81%';

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4月 -81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6月 -81           2450                    10
      7839 KING                 PRESIDENT                     17-11月-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0         30
      7900 JAMES                CLERK                    7698 03-12月-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12月-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1月 -82           1300                    10

已选择 11 行。

虽然所有的数据类型都支持 LIKE,但是往往会在字符串上使用,而平时所见到的大部分的系统搜 索功能,都是通过此代码实现的。但是不包含搜索引擎的实现

文章来源:https://blog.csdn.net/weixin_67859959/article/details/135831136
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。