mysql中的递归调用
首先,创建一个熟悉的组织表。
插入几个测试数据:
Union all是一个初始化语句,只会执行一次,找到开发部门的这行记录。
接下来,下面的join将使用初始化后的语句转到原来的organization表,获取开发部门的所有子部门,然后使用这些子部门来联接更低的部门。
实施的结果如下:
如果要如下查询开发部门的所有上级部门,只需修改上面的递归查询语句:
实施结果如下:
递归公用表表达式“temp”不能包含这两者
递归查询块中的聚合或非窗口函数
关系型数据库
Mysql对递归的深度有限制,默认的递归深度是1000。
您可以显示类似“cte _ max _ recurrence _ depth”的变量;仔细讨论
还可以通过select语句的最大执行时间显示递归,显示变量李乐' max _ execution _ time ';