oracle中connect by怎么用

oracle中,“connect by”用于查找属性结构的数据,语法为“select * from table [start with condition1] connect by [prior] id=parentid”;其中“start with condition1”用于限制第一层的数据,或者叫根节点数据,根据该部分内容来查找第二层数据。

oracle中connect by怎么用

本教程操作环境:windows10系统、Oracle 12c版、Dell G3电脑。

oracle中connect by怎么用

基本语法

select * from table [start with condition1] connect by [prior] id=parentid

一般用来查找树形结构的数据

start with condition1 是用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推。

connect by [prior] id=parentid 这部分是用来指明oracle在查找数据时以怎样的一种关系去查找;比如说查找第二层的数据时用第一层数据的id去跟表里面记录的parentid字段进行匹配,如果这个条件成立那么查找出来的数据就是第二层数据,同理查找第三层第四层…等等都是按这样去匹配。

level关键字,代表树形结构中的层级编号;第一层是数字1,第二层数字2,依次递增。

示例如下:

select rownum from dual connect by rownum<=10;

37.png

SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10

38.png

推荐教程:《Oracle视频教程》

以上就是oracle中connect by怎么用的详细内容,更多请关注其它相关文章!