首页 > 代码库 > oracle start with connect by prior 递归查询

oracle start with connect by prior 递归查询

Oracle中的select语句可以用start with...connect by prior子句实现递归查询,connect by 是结构化查询中用到的,

其基本语法是:

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

<Conditional-1>:过滤条件,用于对返回的所有记录进行过滤;
<Conditional-2>:查询结果重起始根结点的限定条件;
<Conditional-3>:连接条件;

select dept_id ,dept_name,parent_id,stutas ,remark,level as levfrom pub_depart_info  where  stutas=1start with pub_depart_info.dept_id=1001connect by prior pub_depart_info.dept_id = pub_depart_info.parent_idorder by pub_depart_info.dept_id

其中:level为关键字,用于显示递归的层书