![精通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=1738953594-Gxgqs2nkKVko2gpRkOwsiWVwFGgPZYO6-0-6cb19bc328de49343a453f56d9ebb86b)
原列表中的每个值将以单独的行返回。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_101916.jpg?sign=1738953594-No6fj3H6f1fhu3115kQPGLRfMCHHGNwI-0-2ef6b9a356dddcda8ba7a630c7209fb2)
3.3.19.2 创建唯一列表
使用DISTINCT将一个重复值列表转为一个集合。
查询:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_102808.jpg?sign=1738953594-CqWQRSroJCwISCr5D1q725HwgWMCr05o-0-d5e3b469b466a8c272eada3183d6eee1)
原列表中的每个值被展开,然后经过DISTINCT之后创建了一个唯一列表。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P196_101919.jpg?sign=1738953594-U3HiqlDbT7hlYgqpc7kzYPsooNZShBIa-0-6f053c5fa9c904d298e8703015e86d8d)
3.3.19.3 从列表参数创建节点
不使用FOREACH,通过列表参数来创建一系列节点和关系。
参数:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_102809.jpg?sign=1738953594-xHQhyzUK5goU0m4O7gAQMvYxoRqlTWsn-0-fdc26ac8f309593b7eac786595b2d28d)
查询:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_102810.jpg?sign=1738953594-dLpB5D6Og78VeNAp1S7j9wA14DlnFAe5-0-c318f22a9ea4e5233b7c0fc8d51cf130)
原列表中的值将被展开,通过MERGE来找到或者创建节点和关系。
结果:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P197_101922.jpg?sign=1738953594-hztUzFVG3IgOkPQtUQaao6346H8ToQez-0-476cf8f15be5512935087d2b3c4ab036)