`

oracle 查询当前节点的所有子节点(或父节点)的语句

 
阅读更多

描述tb_doc_catalog表(cat_id,cat_name,parent_cat_id)

 

oracle 查询当前节点的所有子节点的语句

select  g.* from tb_doc_catalog g start width g.cat_id=当前id

connect by prior g.cat_id=g.parent_cat_id

-----------------------------------------------------

oracle 查询当前节点的所有父节点的语句

select  g.* from tb_doc_catalog g start width g.cat_id=当前id

connect by prior g.parent_cat_id=g.cat_id

分享到:
评论

相关推荐

    Oracle树查询总结

    使用 `START WITH ID=某个特定值` 定义起始节点,然后 `CONNECT BY parent_id = PRIOR ID` 指示 Oracle 从当前节点开始,逐层查找所有子节点,直至找到所有后代。 4. **查找一个节点的直属父节点(父亲)** 通过 ...

    oracle树查询

    无论是查询根节点还是特定节点的子节点,或者是查询特定节点的父节点,甚至是查询特定层级的所有节点,都可以通过简单的SQL语句来实现。这些查询方式不仅能够提高数据处理的效率,还能够简化复杂数据关系的分析过程...

    Oracle经典SQL语句

    ORACLE经典语句汇总 -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子...

    sql查询某个parentid下的所有childid

    在数据库管理和应用开发中,经常需要查询某一特定节点下的所有子节点信息。例如,在组织结构、产品分类等层级数据管理中,我们需要获取某个父级分类的所有子分类,包括直接子分类以及其所有的后代分类。本篇文章将...

    【Oracle】树状结构查询

    `WHERE`子句可以用来限制查询结果,但它仅作用于当前节点,不会向下传递至子节点或向上影响父节点。例如,排除特定员工: ```sql SELECT LEVEL, SYS_CONNECT_BY_PATH(a.ename, '/'), a.* FROM empa WHERE a.empno ...

    MySQL实现树状所有子节点查询的方法

    在MySQL中,实现树状所有子节点的查询并非像Oracle那样可以直接使用Hierarchical Queries和`CONNECT BY`语句。然而,尽管MySQL不直接支持这样的功能,我们仍然可以通过其他方法来达到相同的效果。以下将详细介绍几种...

    oracle查询成树状

    `CONNECT BY`子句定义了记录之间的连接方式,即如何从一个节点(父节点)导航到其子节点。在这个场景下,通过`prior id = parentid`指明了父子节点间的关联规则:每个记录的`id`字段应与其父节点的`parentid`字段相...

    Oracle层次查询功能的剖析.pdf

    例如,若要查询医科大学的所有子节点及其子孙节点,可以编写如下查询语句: ```sql SELECT * FROM HIERARCHICAL_DATA START WITH ID = 'A' CONNECT BY PRIOR ID = PARENT_NODE; ``` 这将返回所有从医科大学开始的...

    Oracle递归查询

    假设我们要从根节点开始递归查询所有的子节点,可以使用以下SQL语句: ```sql SELECT * FROM TEST_TREE START WITH ID = 1 CONNECT BY PRIOR ID = PID; ``` 这条语句的意思是从ID为1的节点开始,递归查询所有下级...

    Oracle通过递归查询父子兄弟节点方法示例

    3. **查询某节点所有父节点(所有祖宗节点)** ```sql SELECT t.* FROM SYS_ORG t START WITH id = '401000501' CONNECT BY PRIOR parent_id = id ``` 通过反转关系,我们可以找到ID为401000501的所有父节点,...

    oracle树结构查询方法

    `PRIOR`关键字用于指示父节点和子节点的关系,当PRIOR放在列名前面时,表示该列是父节点的引用。`START WITH`子句则指定了树的起始节点,即根节点。如果没有提供`START WITH`子句,查询会从满足条件的所有行开始,每...

    Oracle数据库的分层查询

    根据`PRIOR`的放置位置,查询可以是从上至下(父节点到子节点)或从下至上(子节点到父节点)进行。 在层级查询中,`LEVEL` 是一个伪列,用于表示数据在层级结构中的深度。`SELECT` 语句中包含 `level` 列,可以...

    oracle树状查询

    为了排除既是子节点又是父节点的情况,可以在查询中添加一个条件,例如: ```sql SELECT level, id, name FROM ( SELECT level, id, name, COUNT(*) OVER (PARTITION BY parent_id) child_count FROM DEPARTMENT ...

    层次查询功能在Oracle数据库中的应用.pdf

    Oracle通过START WITH子句指定层次数据的根节点,即查询的起始行,而CONNECT BY子句则用来定义父节点与子节点之间的关系。 层次查询的五个基本步骤如下: 1. 从数据表中选取满足START WITH条件的数据行作为根节点...

    非定深度树与Oracle的等级查询.pdf

    例如,查询节点ID为`idl`的所有子节点,可以使用如下SQL语句: ```sql SELECT id, node_name, node_value, PRIOR id AS "parent_id" FROM tree START WITH parent_id = idl CONNECT BY parent_id = PRIOR id; ``...

    oracle prior

    PRIOR 运算符被置于 CONNECT BY 子句中等号的后面时,则强制从叶节点到根节点的顺序检索,即由子节点向父节点方向通过树结构,我们称之为自底向上的方式。例如: ```sql CONNECT BY EMPNO=PRIOR MGR ``` 在这种...

    基于Oracle的层次树查询功能及实例分析.pdf

    而`CONNECT BY`则规定了父节点与子节点之间的连接关系,配合`PRIOR`运算符,可以设定从根节点到叶节点(自顶向下)或从叶节点到根节点(自底向上)的搜索顺序。此外,`CONNECT BY`中的条件可以用来限制查询的分支,...

Global site tag (gtag.js) - Google Analytics