VALUE
查询表达式可用来指定一个嵌套查询生成的标量值。表达式的结果为一个值或null
。
<value query expression> ::= "VALUE" <nested query specification>
<nested query specification> ::= "{" <query specification> "}"
详情
- 嵌套查询必须以结果语句结尾,该结果语句需遵守以下规范:
- 必须包含
RETURN
语句,该语句应该只有一个返回项,且不能包含GROUP BY
从句。 - 为确保返回单个结果,返回项必须应用聚合函数,或结果语句里必须包含
LIMIT 1
。如果这两项都不符合,默认应用LIMIT 1
。
- 必须包含
示例图集
以下示例根据该图集运行:
在空图集中运行以下语句创建示例图集:
INSERT (p1:Paper {_id:'P1', title:'Efficient Graph Search', score:6}),
(p2:Paper {_id:'P2', title:'Optimizing Queries', score:9}),
(p3:Paper {_id:'P3', title:'Path Patterns', score:7}),
(p1)-[:Cites]->(p2),
(p2)-[:Cites]->(p3)
示例
LET avgScore = VALUE {MATCH (n) RETURN avg(n.score)}
MATCH (n) WHERE n.score > avgScore
RETURN n.title
结果:
n.title |
---|
Optimizing Queries |
Path Patterns |