![精通Neo4j](https://wfqqreader-1252317822.image.myqcloud.com/cover/113/47216113/b_47216113.jpg)
上QQ阅读APP看书,第一时间看更新
3.3.19 UNWIND语句
UNWIND语句将一个列表展开为一个行的序列。用UNWIND可以将任何列表转为单独的行。这些列表可以参数的形式传入,如前面collect函数的结果或者其他列表表达式。
UNWIND一个较为常见的用法是创建唯一列表。另外一个用法是从提供给查询的参数列表中创建数据。UNWIND需要给内部值指定新的名字。
3.3.19.1 UNIND列表
将一个常量列表转为名为x的行并返回。
查询:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_102807.jpg?sign=1739025897-309oO4DaISmBBe5aSBGZmj7kWg666LEw-0-34098cf6f786995da9ab5d28e5929655)
原列表中的每个值将以单独的行返回。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_101916.jpg?sign=1739025897-46dsGLhUSYLuyswslhRkkK8ebgm4vzbD-0-02b00ddfa3d2c72da7338cda7b99abd8)
3.3.19.2 创建唯一列表
使用DISTINCT将一个重复值列表转为一个集合。
查询:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_102808.jpg?sign=1739025897-qH93yetx1nQKHf1gl2D9GZyBgu2qqLy4-0-b3a204857a9df38fae2a5c16c73d8ac7)
原列表中的每个值被展开,然后经过DISTINCT之后创建了一个唯一列表。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_101919.jpg?sign=1739025897-BHddbohbn4Alc7QAxfdwALd1ZEoAWg7E-0-3eb2e1162da2e5d0015bfd486e688968)
3.3.19.3 从列表参数创建节点
不使用FOREACH,通过列表参数来创建一系列节点和关系。
参数:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_102809.jpg?sign=1739025897-O4ZSBYlW3YilZvAJOJ4j3TUdn9fuFhof-0-3af6b87c1a54224cb8a9250739e5e977)
查询:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_102810.jpg?sign=1739025897-I7ubanXa2dFAlt51vA5gpnDIkQsE9nQr-0-7f3aeabc5fb908d6a3bc5997dab54e0e)
原列表中的值将被展开,通过MERGE来找到或者创建节点和关系。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_101922.jpg?sign=1739025897-uwHjhiuNRlpfvPghsAjTTk26Y5fqwvFo-0-c0e9deea06d2363a79857629d7d2129e)