微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,即本记录的父亲是上一条记录。 -- 条件三 是过滤条件,用于返回的所有记录进行过滤

原文地址:https://www.jb51.cc/oracle/210367.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐