SELECT * FROM TABLE WHERE 条件3 START WITH 条件1 CONNECT BY 条件2;
相关属性解释
-
start with [condition]: 设置起点,用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查找第二层数据,然后以第二层数据查找第三层数据以此类推。省略后默认以全部行为起点。
-
connect by [condition] : 用来指明在查找数据时以怎样的一种关系去查找;比如说查找第二层的数据时用第一层数据某个字段进行匹配,如果这个条件成立那么查找出来的数据就是第二层数据,同理往下递归匹配。
-
prior : 表示上一层级的标识符。经常用来对下一层级的数据进行限制。不可以接伪列。prior在等号前面和后面,查询的数据是不一样的
-
level : 伪列(关键字),代表树形结构中的层级编号(数字序列结果集),这个必须配合connect by使用,和rownum是同等效果。
-
connect_by_root : 显示根节点列。经常用来分组。
-
connect_by_isleaf : 1是叶子节点,0不是叶子节点。在制作树状表格时必用关键字。
-
sys_connect_by_path() : 将递归过程中的列进行拼接。
-
nocycle、connect_by_iscycle: 在有循环结构的查询中使用。
-
siblings : 保留树状结构,对兄弟节点进行排序。