在neo4j中还有一个with关键词,他主要是把两个查询结果给链接起来。下面给个案例看看效果:
MATCH (a:Person) WHERE a.name = '张三' with a.age as age1 MATCH (b:Person) WHERE b.name = '李四' RETURN age1,b.age
这个语句是先查匹配张三的人,然后把匹配到的张三的年龄缓存起来,再查询匹配李四的人,最后把两个人的年龄一起返回来,我们看看效果:
可以看到返回了2个查询结果集。所以with就是做两个结果集的链接作用的。
备注:
1、这种使用with缓存变量的方式,建议使用as xxx这样的别名,不然的话会直接报错,比如我们不用别名的时候,就会报下面的错误:
这个错误是因为a有age字段,b也有age字段,两个重复了。
还没有评论,来说两句吧...