开发者社区 问答 正文

是否可以通过单个查询在MySQL中查询树结构表到任何深度?

我认为答案是否定的,但是我很喜欢它,任何人都可以深入了解如何在SQL(MySQL)中将树结构爬网到任何深度,而只需一个查询

更具体地说,给定一个树形结构的表(id,数据,数据,parent_id)和表中的一行,是否有可能获得所有后代(子代/孙代/等等),或者所有祖先(父代/祖父母) / etc),而不用单个查询知道它会走多远?

还是使用某种递归需求,在这里我不断进行更深入的查询,直到没有新结果为止?

具体来说,我使用的是Ruby和Rails,但我猜这不太相关。

展开
收起
保持可爱mmm 2020-05-11 17:42:45 557 分享 版权
1 条回答
写回答
取消 提交回答
  • 是的,这是可能的,这就是所谓的“修改的预排序树遍历”,如此处最佳描述

    聪明人的SQL中的Joe Celko的树和层次结构

    这里提供了一个工作示例(PHP)

    http://www.sitepoint.com/article/hierarchical-data-database/2/来源:stack overflow

    2020-05-11 17:42:57
    赞同 展开评论