mysql5.7 递归查询
时间: 2023-07-23 11:57:10 浏览: 82
MySQL递归查询
MySQL 5.7 不支持递归查询。但是,你可以使用一些技巧来模拟递归查询。一种常见的方法是使用连接表达式和临时表来实现递归查询的效果。
以下是一个示例,展示了如何使用连接表达式和临时表来模拟递归查询:
```
-- 创建一个临时表来存储递归结果
CREATE TEMPORARY TABLE recursive_result (
id INT,
name VARCHAR(255)
);
-- 插入初始查询条件
INSERT INTO recursive_result (id, name)
SELECT id, name
FROM your_table
WHERE parent_id IS NULL; -- 根节点条件
-- 循环查询直到没有更多的结果
REPEAT
-- 插入下一级节点
INSERT INTO recursive_result (id, name)
SELECT t.id, t.name
FROM your_table t
JOIN recursive_result r ON t.parent_id = r.id;
UNTIL ROW_COUNT() = 0 END REPEAT;
-- 查询结果
SELECT * FROM recursive_result;
```
请注意,这只是一个简单的示例,你可能需要根据你的具体数据表结构和查询条件进行适当的调整。另外,递归查询可能会导致性能问题,特别是在大型数据集上。
阅读全文