您的位置:首页 > 数据库 > Oracle

Oracle知识点

2016-02-18 11:11 232 查看
select语句可以用START WITH…CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:

select ... from <TableName>
where <Conditional-1>
start with <Conditional-2>
connect by <Conditional-3>;


1:过滤条件,用于对返回的所有记录进行过滤。

2:查询结果重起始根结点的限定条件。

3:连接条件

如果connect by prior中的prior被省略,则查询将不进行深层递归。

1、start with id= 是定义起始节点(种子),可以是id也可以是root_id,定义为root_Id查询该节点下所有的树结构,定义为id(子节点)则查询指定的树

2、connect by prior :prior的含义为先前,前一条记录。prior id=root_id 也就是前一条记录的id等于当前记录的root_id(父id)

3、可以向下或者向上查找。。。。

4、level字段为oracle特有的层级字段,可以通过level字段查询指定的层级

select root_id,id,name,level from t2 where level=1
start with root_id = 0
connect by prior id = root_id;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 递归