You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLite递归CTE向上查询层级:获取Alice到根节点的指挥链示例

Got it!要实现从Alice向上追溯到根节点(boss为null)的指挥链,只需要反转递归查询的方向,从子节点往父节点找就行。

反向查询树形结构的指挥链(从Alice到根节点)

先确认下咱们的表结构:

CREATE TABLE org( 
  name TEXT PRIMARY KEY, 
  boss TEXT REFERENCES org 
);

要获取从Alice向上到boss为null的根节点的完整指挥链,直接用下面的递归查询即可,结果就是纯指挥链列表:

WITH RECURSIVE alice_chain(n) AS (
  -- 起始点:Alice
  VALUES('Alice')
  UNION
  -- 递归向上找上级boss,直到boss为null停止
  SELECT org.boss 
  FROM org
  JOIN alice_chain ON org.name = alice_chain.n
  WHERE org.boss IS NOT NULL
)
SELECT n AS command_chain FROM alice_chain;

简单解释下逻辑:

  • 初始递归部分先把Alice作为起始节点;
  • 递归环节通过关联当前节点的name和上级的boss字段,一步步向上找,org.boss IS NOT NULL这个条件会让递归在根节点处停止(因为根节点没有上级,boss为null,不会被选中);
  • 最后直接输出递归结果,就是从Alice到根节点的指挥链顺序。

内容的提问来源于stack exchange,提问作者turbo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:26:43