图数据库(九):Neo4j中Cypher语言unwind关键字

本文详细介绍了Neo4j Cypher查询语言中的`UNWIND`操作,展示了如何使用它进行列表展开、去重、合并以及检测列表类型。通过实例解释了如何处理各种列表情况,包括合并列表、去重和处理嵌套列表,以及处理空列表。同时,还提供了检测是否为列表的方法。
摘要由CSDN通过智能技术生成

UNWIND用于将任何列表变回单独的行。这些列表可以是传入的参数,先前编辑的 collect 结果或其他列表表达式。注意UNWIND 需要指定一个新的名称

列表操作

unwind [1, 2, 3, NULL] as x
return x, 'val' as y

结果是:

列表去重

with [1, 1, 2, 2] as coll
unwind coll as x
with distinct x
return collect(x) as setOfVals

结果是:

列表运算

# 合并列表为[1,2,3,4]
with [1, 2] as a, [3, 4] as b
unwind (a + b) as x
return x

合并嵌套列表

# 合并嵌套列表
with [[1, 2], [3, 4], 5] as nested
unwind nested as x
unwind x as y
return x, y

结果是: 

合并空列表

# 这是一个用法,只要unwind的是一个[],那么不管一起返回的是什么,都会返回一个0rows。
unwind [] as empty
return empty, 'literal_that_is_not_returned'

结果是: 

检测列表

# 可以被用来检测是不是一个list,null不是列表不会返回值
unwind null as x
return x, 'some_itearl'

# 如果直接unwind一个数字或字符串,也可以返回
unwind 5 as x
return x, '11'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值