Oracle11gR2RSF(RecuriveSubqueryfactoring),在Oracle 11gR2之前,一般用start with和connect by来递归的显示树形结构,请看如下脚本

select lpad(‘ ‘,2*level-1,’ ‘) || ename ename,empno,mgr

from emp

where empno is not null

connect by prior empno = mgr

start with mgr is null

ENAME EMPNO MGR

——————– ———- ———-

KING 7839

JONES 7566 7839

SCOTT 7788 7566

ADAMS 7876 7788

FORD 7902 7566

SMITH 7369 7902

BLAKE 7698 7839

ALLEN 7499 7698

WARD 7521 7698

MARTIN 7654 7698

TURNER 7844 7698

JAMES 7900 7698

CLARK 7782 7839

MILLER 7934 7782

从11gR2开始,可以用RSF来实现

with sun(lvl,ename,empno,mgr) as

(select 1,lpad(‘ ‘,2*1-1,’ ‘) || ename ename,empno,mgr from emp where mgr is null

union all

select sun.lvl+1,lpad(‘ ‘,2*lvl-1,’ ‘) || d.ename ename,d.empno,d.mgr

from sun, emp d

where sun.empno = d.mgr)

select lvl,ename,empno,mgr from sun

LVL ENAME EMPNO MGR

———- ——————– ———- ———-

1 KING 7839

2 JONES 7566 7839

2 BLAKE 7698 7839

2 CLARK 7782 7839

3 ALLEN 7499 7698

3 WARD 7521 7698

3 MARTIN 7654 7698

3 SCOTT 7788 7566

3 TURNER 7844 7698

3 JAMES 7900 7698

3 FORD 7902 7566

3 MILLER 7934 7782

4 SMITH 7369 7902

4 ADAMS 7876 7788

观察一下上述两份输出,用传统的start with和connect by,结果顺序类似于对emp表的前序遍历(preorder traversal);而使用RSF,则是对emp表的层次遍历(level traversal)

oracle subquery是什么,Oracle11gR2RSF(RecuriveSubqueryfactoring)-Oracle相关推荐

  1. oracle查询前几名,Oracle子查询前1名的结果(Oracle subquery top 1 result)

    Oracle子查询前1名的结果(Oracle subquery top 1 result) 我想为b的每个唯一值得到最高的1行,最小值为c的那个特定值. 即使可以有超过1行具有相同的最小值(只需选择第 ...

  2. oracle监听_保存在,oracle 监听 lsnrctl 命令 (推荐)

    oracle 监听 lsnrctl 命令 (推荐) listener control 监听控制 因为你在键入 lsnrctl 回车之后,就进入到监听控制界面. 在启动.关闭或者重启oracle监听器之 ...

  3. Oracle SQL依然无可替代--《Mastering Oracle SQL》

    Oracle SQL依然无可替代--<Mastering Oracle SQL>   选择自 calvinxiu 的 Blog  http://dev.csdn.net/user/calv ...

  4. oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题

    之前在oracle 下面用图形装了(oracle图形界面安装遇到的问题), 毕竟图形界面用于个人使用,而服务器下的一般是字符界面,所以安又尝试字符界面的安装 我的环境是centos 6.3 64位 + ...

  5. oracle em 性能点不进,oracle em节点启动不成功问题处理总结

    客户数据库项目从oracle 9i数据库升级到oracle10g后,oracle em在节点1启动不成功,节点2可以正常启动. 节点1启动时报错如下: [oracle@zhgsdb1 ~]$ emct ...

  6. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...

    第3章  Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...

  7. oracle加as报错,【Oracle】-【sqlplus / as sysdba登录报错问题】-新用

    [Oracle]-[sqlplus / as sysdba登录报错问题]-新用户使用sqlplus / as sysdba登录报错解决 [Oracle]-[sqlplus / as sysdba登录报 ...

  8. oracle修改c root,从新发现Oracle太美之root.sh

    重新发现Oracle太美之root.sh 如果你执行下以下命令基本上会在Oracle软件目录下会发现两个root.sh的脚本 [oracle@rh64 Templates]$ find /u01/ - ...

  9. exp导oracle数据库,使用exp/imp 在oracle数据库间导数据

    最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程. 导数据过程分以下几步: 假设源数据库为A,目标数据库为B 1.在B上通 ...

最新文章

  1. 【网摘】GTK中文显示解决方案
  2. UML 对象模型图阅读指南 (转)
  3. Python-OpenCV 处理图像(七):图像灰度化处理
  4. linq Distinct
  5. linux module_init
  6. 求一个二维数组的最大子矩阵的和
  7. java 从后往前截取_java 字符串截取的实例详解
  8. 基于 HTML5 Canvas 的 3D 热力云图效果
  9. ZoomIt 屏幕放大 缩小 屏幕画笔 演示 手写笔迹 倒计时 秒变白板 pointofix
  10. excel 计算复合增长率
  11. SpringBoot 的请求参数校验注解
  12. OSChina 周一乱弹 ——程序员已经习惯熬夜了吧
  13. 阿里云首发CIPU处理器,这次要抢CPU的C位,为OS反向自研
  14. 2d游戏碰撞检测C语言,2D游戏中的碰撞检测:圆形与矩形碰撞检测(Javascrip版)...
  15. 【小象学院】案例8——空气质量指数计算v7.0
  16. oracle显示人民币,请问如何讲数字转变为大写人民币格式
  17. 关于Android中Button的Backgroud背景设置默认为蓝紫色,且无法修改的问题
  18. HTML5案例之蚊香、棒棒糖、爱心、五角星
  19. 你好,23岁的 Petterp
  20. 春学期C语言程序设计,2019年春季学期《C语言程序设计II》课程总结

热门文章

  1. 喜欢这样的游戏---流畅的俯视坦克射击游戏
  2. 西雅图本地创业公司大盘点
  3. python中的df是什么意思_python df遍历的N种方式
  4. NP完全问题的归约-碰撞集(HITTING SET)
  5. configure: error: Package requirements (libwebp) were not met:
  6. 手游外挂分类及原理介绍
  7. HTML强制关机,如何强制关机【处置技巧】
  8. 如何在Kindle上阅读漫画书和漫画
  9. USACO:2.2.1 Preface Numbering 序言页码
  10. 华为机试——字符串压缩(stringZip)