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

我认为答案是否定的,但我希望有人能够深入了解如何在 SQL (MySQL) 中将树结构抓取到任何深度,但只需一个查询

更具体地说,给定一个树状结构表(id、data、data、parent_id)和表中的一行,是否有可能获得所有个后代(child/grandchild/etc),或者就此而言,所有祖先( parent /祖 parent /等)都不知道它会下降或上升多远,使用单个查询?

或者正在使用某种递归需求,我不断深入查询直到没有新结果?

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

最佳答案

是的,这是可能的,这就是所谓的修改前序树遍历,这里有最好的描述

Joe Celko's Trees and Hierarchies in SQL for Smarties

此处提供了一个工作示例(使用 PHP)

http://www.sitepoint.com/article/hierarchical-data-database/2/

https://stackoverflow.com/questions/169817/

相关文章:

python - 如何将数据插入 MySQL 数据库?

mysql - 无法通过 phpmyadmin 导入数据库 文件过大

mysql - MySQL中给定子字符串的最后一个索引

sql - MySQL:比较两个表之间的差异

sql - MySQL GROUP BY 两列

sql - 如何查找具有包含小写字母的值的行

mysql - 为什么 MySQL 允许没有聚合函数的 "group by"查询?

sql - 从表中删除所有

javascript - 哪些 MySQL 驱动程序可用于 node.js?

mysql - 从 MySQL 切换到 Cassandra - 优点/缺点?