目录
如果在使用 LIKE 进行限定查询的时候,没有设置任何的关键字,那么表示查询全部
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
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 行。
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
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,但是往往会在字符串上使用,而平时所见到的大部分的系统搜 索功能,都是通过此代码实现的。但是不包含搜索引擎的实现