备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 java系列博客 oracle 中start with ... connect by prior 子句的用法
2 0

海报分享

oracle 中start with ... connect by prior 子句的用法

忍不了了,必须要搞清楚 oracle 中start with  ... connect by prior 子句的用法,每次都会忘记,必须写出来加深印象!!!

connect by 是结构化查询中用到的,其基本语法是:

select ... from tablename start with 条件1 
connect by 条件2 
where 条件3;

假设table这张表是一个树形表 表中存在两个字段:org_id,parent_id 那么通过表示每一条记录的parent是谁,就可以兴城一个树状结构,用下面的语句可以取得这棵树的所有记录

select * from table
start with org_id = 1
connect by prior org_id = parent_id;

-- 其中,条件一是根节点的限定语句,这里可以放一个id(就形成一棵树),也可以放多个id(形成多棵树) -- 条件二 是连接条件,其中用piror表示上一条记录,比如 connect by prior org_id = parent_id就是说上一条记录的Org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。