SQL Server 用 graph table 如何写 recursive query

guostong guostong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
SQL 从 2017开始支持 graph table, 想请教如何写 recursive query?

实例如下:
CREATE TABLE Person (
ID INTEGER PRIMARY KEY,
name VARCHAR(100)
) ;

CREATE TABLE friendOf AS EDGE;

INSERT INTO Person (Id, name)
VALUES (1, 'John')
, (2, 'Mary')
, (3, 'Alice')
, (4, 'Jacob')
, (5, 'Julie');

INSERT INTO friendOf
VALUES ((SELECT $NODE_ID FROM Person WHERE ID = 1), (SELECT $NODE_ID FROM Person WHERE ID = 2))
, ((SELECT $NODE_ID FROM Person WHERE ID = 2), (SELECT $NODE_ID FROM Person WHERE ID = 3))
, ((SELECT $NODE_ID FROM Person WHERE ID = 3), (SELECT $NODE_ID FROM Person WHERE ID = 1))
, ((SELECT $NODE_ID FROM Person WHERE ID = 4), (SELECT $NODE_ID FROM Person WHERE ID = 2))
, ((SELECT $NODE_ID FROM Person WHERE ID = 5), (SELECT $NODE_ID FROM Person WHERE ID = 4));

查询 'John' 的朋友:

select p1.name, p2.name
from Person p1, friendOf f, Person p2
where match (p1-(f)->p2)
and p1.name = 'John'

但是如果我想查询所有的 'John' 的朋友, 一级朋友的朋友, ...
SQL 该如何写?

如果不用graph table 的话,是可以写recursive query的.

谢谢
...全文

相关推荐

计算机编程术语总结

计算机编程术语: 参考网址:https://blog.csdn.net/linear_luo/article/details/52318820   application 应用程式 应用、应用程序 application framework 应用程式框架、应用框架 应用程序框架 architecture 架构、系统架构 体系结构 argument 引数(传给函式的值)。叁见 param...

a1809032425

静态博客技术基建:Hugo+PaperMod打造可审计知识库

静态博客是一种将内容、样式与逻辑彻底解耦的网站构建范式,其核心原理在于通过预生成HTML提升安全性、性能与长期可维护性。相比WordPress等CMS,静态方案规避了运行时漏洞、平台锁定与格式漂移风险,具备天然的抗审查性、零依赖部署能力及Git原生版本控制优势。在系统编程、基础设施文档、算法笔记等强调代码准确性与知识复用的场景中,Hugo因其编译速度、Go模板简洁性及对LaTeX/mermaid/高亮代码的原生支持,成为工程师构建个人知识基建的首选引擎。本文详解如何基于Hugo与PaperMod主题,落地一

lanmh

生成式智能体实战指南:记忆-反思-规划-反应四层架构详解

生成式智能体(Generative Agents)是一种将大语言模型与认知架构深度融合的新型AI范式,其核心在于模拟人类行为的连续性,而非简单文本生成。它依托记忆存储、动态反思、分层规划和实时反应四大机制,实现对时间、情境与关系的深度建模。相比端到端大模型,该架构显著提升行为一致性、可解释性与环境适应力,已在执法训练、教育沙盒、交互设计等场景验证实用价值。本文聚焦斯坦福提出的‘记忆-反思-规划-反应’四层结构,结合本地化部署实践,解析各模块原理、工程实现要点及典型问题排查路径,为开发者提供可复现、可调优、可

aikenqiu5098

Node.js爱好者的新玩具:手把手教你用Docker部署Wiki.js,并玩转它的Markdown和API

本文为Node.js开发者详细介绍了如何使用Docker容器化部署Wiki.js知识管理平台,并深入探索其Markdown扩展能力和API集成功能。从基础环境准备到生产环境优化,再到API实战应用,全面展示了如何将Wiki.js打造为高效的技术文档中心。特别适合需要构建内部知识库或技术文档系统的开发团队。

weixin_30520015

【信息科学与工程学】【数据科学】 第四十四篇 数据湖 系列二 函数库01

2. 近似最近邻搜索(ANN): 通过HNSW等图索引模型加速,模型定义为构建一个层次化导航小世界图。依赖于消息队列(Kafka/Pulsar)、分布式文件系统(HDFS/S3)的客户端及连接库。依赖专门的向量检索库(如FAISS, Milvus)。管控目标: 召回率(Recall@K) > 95%,查询延迟 < 100ms。管控目标: < 1% (核心业务字段) 或 < 5% (一般字段)依赖数据处理框架(如Spark, Pandas)的核心统计函数。,通过牺牲精确性(ANN)来换取搜索速度的大幅提升。

flyair_China
评论
收藏 已收藏
分享
返回顶部
guostong
疑难问题 22,298 成员 121,727 内容