`
xiangqian0505
  • 浏览: 321633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 根据分类编号找出所有子类别方法(oracle 递归)

阅读更多
问题:假设 服装 分类编号 是 1001  上级分类是 0                     羽绒服 是服装的子类  分类编号 是 10010001  上级分类是 1001    短羽绒服  是羽绒服的子类  分类编号 是 100100010001  上级分类是 10010001     现在我如果选择服装 那么怎样用一条sql 语句根据分类编号 假设分类编号是1001 查询出  服装 羽绒服 及短羽绒服
解决问题的sql:select * from 表名 connect by prior 上级分类子类=下级分类 start with 上级分类=分类编号
分享到:
评论

相关推荐

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

    当你想要找出与特定节点(如ID为401000501的节点)拥有相同父节点的其他节点时,可以这样操作: ```sql SELECT * FROM SYS_ORG t WHERE EXISTS (SELECT * FROM SYS_ORG s WHERE t.parent_id = s.parent_id AND ...

    Oracle 11GR2的递归WITH子查询方法

    然后,`UNION ALL`将这个起点与递归成员连接,通过`emp.mgr = ed.empno`找出所有直接下属。`SEARCH DEPTH FIRST BY ename SET order_by`指定了深度优先遍历,并根据员工姓名排序结果。 相比传统的`CONNECT BY`层次...

    深入sql oracle递归查询

    这两种方法都能解决查询层次关系的问题,例如找出某个节点的所有子节点或父节点。 首先,我们来看Oracle的`START WITH`和`CONNECT BY`语法。这个语法主要用于查询具有层级关系的数据,例如组织结构、产品分类等。`...

    oracle 树型的寻父或寻子

    例如,如果我们有一个员工表(EMPLOYEE),其中PARENT_EMP_ID字段表示父员工ID,那么以下查询可以找出所有属于某个员工的子员工: ```sql SELECT LEVEL, EMPLOYEE_NAME, EMPLOYEE_ID FROM EMPLOYEE START WITH ...

    oracle SQL递归的使用详解

    再看一个更具体的业务场景,比如在组织结构表`comm_org_subjection`中,包含`ORG_ID`(组织ID)和`FATHER_ORG_ID`(父组织ID)字段,我们可以利用递归查询来找出特定组织的所有子组织或父组织。例如,要找出`org_id`...

    数据库设计之递归树查询

    要找出所有某员工的下属,包括下属的下属,可以使用如下递归查询: ```sql WITH RECURSIVE employee_tree AS ( SELECT id, name, manager_id FROM employees WHERE id = some_employee_id -- 指定要查询的员工ID...

    oracle 使用递归的性能提示测试对比

    在这个正确的方法中,先递归地找出文件夹ID为12的所有子文件夹及其层级(level),然后通过`LEFT JOIN`与文件表B连接,获取这些文件夹中的文件信息。这样做的好处是避免了在递归过程中引入不必要的文件数据,从而...

    Oracle内置SQL函数-分类整理大全

    CONNECT_BY_ROOT和START WITH…CONNECT BY结构用于递归查询,找出数据之间的层级关系。而JOIN操作(如INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)用于合并多个表的数据。 通过熟练掌握这些内置SQL函数,...

    Oracle树查询总结

    同样使用 `START WITH...CONNECT BY...PRIOR` 语法,但这次是 `PRIOR parent_id = ID`,从指定节点开始回溯,找出所有父节点。 6. **查询一个节点的兄弟节点(亲兄弟)** 首先找到指定节点的父节点 `parent_id`,...

    oracle的开发技术

    6. **统计函数**:Oracle提供了一系列统计函数,如COUNT用于计算行数,SUM用于求和,AVG用于求平均值,MAX和MIN用于找出最大值和最小值,以及VARiance和Stddev用于计算方差和标准差,帮助分析数据集的特征。...

    Oracle树查询实例分析

    使用带有`EXISTS`子查询的方法可以找出与特定节点具有相同`sjflid`但`ID`不同的其他节点,这些就是兄弟节点。此查询方法避免了直接连接操作,但可能不是最优解,具体效率取决于数据量和索引。 除了这些基本操作,...

    oracle高级查询技巧

    例如,你可以使用子查询来找到某个部门薪水最高的员工,然后再找出这个员工的所有信息。 二、连接查询 连接查询允许从多个表中提取数据,通常通过共同的列进行关联。这包括内连接(INNER JOIN)、外连接(LEFT JOIN、...

    Oracle和SQL_Server的语法区别

    例如,找出学生已选的所有课程代码和名称,可以使用 `EXISTS` 替代 `INTERSECT`;查找无学生选修的课程,可以使用 `NOT EXISTS` 替代 `MINUS`。 在实际操作中,确保充分了解 Oracle 和 SQL Server 之间的这些差异至...

    Oracle复杂查询语句的使用

    我们的目标是找出所有被关注的科目信息。 ```sql CREATE TABLE univ_subject ( name VARCHAR2(12) NOT NULL, per_id NUMBER NOT NULL, dept_name VARCHAR2(20) ); INSERT INTO univ_subject VALUES ('...

    oracle函数大全中文api文档

    SUM求和,AVG计算平均值,MAX和MIN找出最大最小值,COUNT统计行数,GROUP BY和HAVING用于分组和条件聚合。 6. **逻辑和比较函数**: NOT,AND,OR用于逻辑运算,=,<,>,,>=,进行比较,BETWEEN,IN,IS NULL则...

    李兴华老师Oracle笔记study163

    例如,找出与某个集合中的任何值匹配的记录或找出与所有值都匹配的记录。 4. 聚合子查询:这类子查询结合了聚合函数(如COUNT、SUM、AVG、MAX、MIN)来计算一组值的统计信息,然后将这些信息用于主查询。 5. 表子...

    %%%oracle函数全.zip

    9. **连接和并集函数**:UNION用于合并多个查询的结果,INTERSECT找出两个查询的交集,MINUS找出第一个查询但不在第二个查询中的结果。 10. **递归查询函数**:CONNECT_BY_ROOT和START WITH...CONNECT BY语句用于...

    Oracle中层次查询的使用和探讨.pdf

    2. 根据`CONNECT BY`从句,找出每个根节点的所有子节点。 3. 递归选择子节点的子节点,直至所有层级都被遍历。 4. 如果有`WHERE`从句,Oracle会删除不满足条件的行,但不会移除其后代,除非后代本身也不满足条件。 5...

Global site tag (gtag.js) - Google Analytics