-
union all和union的区别
都是对两个结果集进行并集操作
union all:包含重复的结果,不排序结果
union:不包括重复结果,排序结果
order by子句必须写在最后一个结果集里,并且其排序规则将改变操作后的排序结果 -
Oracle中start with…connect by prior子句用法
select … from tablename
start with 条件1
connect by PRIOR 条件2
where 条件3;
1.条件1表示数据的切入点,也就是第一条数据从哪里开始.
2.条件2是连接条件,其中用PRIOR表示上一条记录,例如CONNECT BY PRIOR ID = PID,意思就是上一条记录的ID是本条记录的PID
3.条件3表示条件12执行遍历结果之后再进行条件约束.
注意:prior放在哪里,就找谁,例如
第一条就是找孩子节点,第二条就是找父节点
prior child_id = parent_id <=> parent_id=prior child_id
prior parent_id=child_id <=> child_id=prior parent_id