Neo4j常见写法-with

with用法(WITH 是一个关键子句,用于将查询的不同部分连接起来。它允许你在单个查询中执行多个操作步骤,处理中间结果,并控制变量的作用域)

(1)基本语法与作用
核心功能:
将前一个查询部分的结果传递给后续部分,支持变量重命名、过滤、聚合等操作。
执行时机:
WITH 必须出现在 MATCH、CREATE、MERGE 等操作之间,用于分割查询逻辑。
(2)传递变量到后续子句

MATCH (a:Actor)-[:ACTED_IN]->(m:Movie)
WITH a, COLLECT(m.title) AS movies  // 将演员和电影列表传递给下一步
WHERE SIZE(movies) > 3  // 过滤参演电影超过3部的演员
RETURN a.name, movies

(3)重命名变量

MATCH (p:Person)-[:FRIEND]->(f:Person)
WITH p AS user, COLLECT(f.name) AS friends  // 重命名变量
RETURN user.name, friends

(4)结合聚合函数

MATCH (u:User)-[r:RATED]->(m:Movie)
WITH m, AVG(r.score) AS avgRating  // 计算每部电影的平均评分
WHERE avgRating > 8  // 过滤高分电影
RETURN m.title, avgRating
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值