在oracle中,“connect by”用于查找属性结构的数据,语法为“select * from table [start with condition1] connect by [prior] id=parentid”;其中“start with condition1”用于限制第一层的数据,或者叫根节点数据,根据该部分内容来查找第二层数据。
本教程操作环境: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;
SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10
推荐教程:《Oracle视频教程》
以上就是oracle中connect by怎么用的详细内容,转载自php中文网
发表评论 取消回复