思路:将问题转化为数值计算-1
Deode(分支函数)
DECODE(value,if1,then1,if2,then2,if3,then3,…,else) 若value等于if1则为then1,肉value等于if2则为then2、
Sign(比较函数)
sign(n) 若n大于0则返回1,小于0返回-1
例子:工资在8000元以下的将加20%;工资在8000元以上的加15%
select decode(sign(salary - 8000),1,salary1.15,-1,salary1.2)salary from employee
Start with(树查询)
解决层级结构的搜索问题,例如:省市区数据
表字段:ID(主键),DSC(描述),PID(父ID)
create table DEMO (
ID varchar2(10) primary key,
DSC varchar2(100),
PID varchar2(10)
)
语法实例
SELECT ... FROM + 表名
WHERE + 条件3——>在最后查询的数据中,再进行筛选
START WITH + 条件1——>标识从哪个节点开始查找
CONNECT BY PRIOR + 条件2——>标识遍历方向
--示例
Select * From DEMO
Start With ID = '00001'
Connect By Prior ID = PID
tip: prior id = pid 本记录的父节点 是遍历的上一个节点——>从上到下查找
prior pid = id 本记录 是 本记录父节点遍历的上一个节点——>从下到上