优先级:计算的顺序
1.小括号
2.乘除
3.加减,连接符
4.比较符
5.is null,in
6.between and
7.not
8.and
9.or
小括号优先级最高,or的优先级最低
可以用小括号来改变优先级
同一优先级从左往右依次计算
如果不记得优先级顺序,记得加括号
((A and B) or (C and D))
((A or (B and C)) or D)
--简单查询
--限定查询
--模糊查询
语法:
select 要查询的内容
from 数据来源
where 列 like '匹配的内容'
通配符:
%:0-多个字符
_:任意单个字符
--查询员工姓名中包含S的员工信息
select *
from emp
where ename like '%S%'
--查询员工姓名S开头的员工信息
select *
from emp
where ename like 'S%'
--查询名字第二个字符是L的员工信息
select *
from emp
where ename like '_L%'
--查询名字是四个字符的员工信息
select *
from emp
where ename like '____'
--查询J开头名字总长度是5的员工信息
select *
from emp
where ename like 'J____'
--查询员工姓名J开头S结尾的员工信息
select *
from emp
where ename like 'J%S'
--查询员工姓名不包含A也不包含S的员工信息
select *
from emp
where not ename like '%A%' and ename not like '%S%'
--转义
--双写转义
select ''''
from dual
宏代换:&
select &a,'&&b'
from dual
2.q'{}'
在大括号内的所有内容取消特殊含义,不能转义宏代换
select q'{a'''}'
from dual
3.escape转义 用于模糊查询的转义
select *
from A
--查询name列中_开头的name
select name
from A
where name like '\_%' escape '\'
--查询A表中name列_开头的行
select *
from A
where name like '\_%' escape '\'
--查询A表中name列第二位是%的行
select *
from A
where name like '_!%%' escape '!'
--查询A表中%开头的行
select *
from A
where name like '+%%' escape '+'
小结
┌简单查询┌select 要查询的内容 from 数据来源
│ ├别名┌1.数字开头的不能作为别名
│ │ ├2.包含特殊符号的不能作为别名
│ │ └3.严格区分大小写的不能作为别名
│ ├如果必须违反以上规则必须加双引号
│ ├数据类型┌1.数值型 number 靠右 直接写
│ │ ├2.字符型 char|varchar|varchar2 靠左 用单引号引起来
│ └ └3.日期型 date '年-月-日' 有小日历
├限定查询┌语法:select 要查询的内容 from 数据来源 where 限定条件 (列 操作符 值)
│ ├操作符┌比较运算符:> < = >= <= !=|<>
│ │ ├逻辑运算符:and or not
│ │ ├算术运算符:+ - * /
│ │ ├between 小值 and 大值 包含两端值
│ │ ├in 在什么里面 not in 不在什么里面
│ │ ├|| 连接字符串 结果为字符型
│ │ └is null|is not null 是空|不是空
│ └隐式转换:纯数字的字符串在参与计算时会自动转为数值型进行计算,将数值型的数据转为字符型
└模糊查询┌语法:select 要查询的内容 from 数据来源 where 列 like '匹配内容'
├通配符┌% 0-多个字符
│ └_ 任意单个字符
├转义┌1.双写转义
│ ├2.q'{}'
└ └3.escape '\'
本文介绍了PLSQL中的模糊查询语法,包括LIKE操作符和通配符%及_的使用,同时讲解了查询优先级、转义字符以及宏代换的概念。示例查询展示了各种模糊匹配的场景,如查询名字中包含特定字符、以特定字符开头或结尾的记录。

1531

被折叠的 条评论
为什么被折叠?



