博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Neo4j CQL -(14) -UNION联合
阅读量:5905 次
发布时间:2019-06-19

本文共 1135 字,大约阅读时间需要 3 分钟。

与SQL一样,Neo4j CQL有两个子句,将两个不同的结果合并成一组结果

UNIONUNION ALL

UNION子句

它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行。

限制:

结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。

UNION子句语法

UNION

语法说明:

这里写图片描述

注意 -

如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。

示例:我们将采取一个银行应用程序的节点:信用卡式和借记卡解释UNION子句

信用卡式节点数据:

第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。

查看 CreditCard

MATCH (cc:CreditCard) RETURN cc

点击“下载CSV”来查看结果

这里写图片描述

紧接着,咱们查看DebitCard

MATCH (dc:DebitCard) RETURN dc

点击“下载CSV”来查看结果

这里写图片描述

相互对比一下,咱们可以发现他们的所有内容相似,咱们使用UNION 直接查询,将会有什么情况发生呢?

MATCH (cc:CreditCard) RETURN cc.id,cc.numberUNIONMATCH (dc:DebitCard) RETURN dc.id,dc.number

结果显示为:

这里写图片描述


这表明,这两个查询应具有相同的列名。

首先查询有:cc.id,cc.number。
第二个查询有:dc.id,dc.number。
这里既有信用卡式和借记卡具有相同的属性名:身份证和号码,但他们有不同的节点名称前缀。这就是为什么UNION命令显示此错误消息。为了避免这种错误,Neo4j的CQL提供“AS”子句。

于是,对于union语句的使用,应当在保证各个属性均一致且合并时,应当改为同一名称的基础下,为如下:

MATCH (cc:CreditCard)RETURN cc.id as id,cc.number as number,cc.name as name,   cc.valid_from as valid_from,cc.valid_to as valid_toUNIONMATCH (dc:DebitCard)RETURN dc.id as id,dc.number as number,dc.name as name,   dc.valid_from as valid_from,dc.valid_to as valid_to

结果如图:

这里写图片描述

本文参考:

转载于:https://www.cnblogs.com/DeepRunning/p/9205934.html

你可能感兴趣的文章
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
260. Single Number III
查看>>
Hadoop生态圈-Kafka的完全分布式部署
查看>>
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1
查看>>
jQuery自动完成点击html元素
查看>>
[算法]基于分区最近点算法的二维平面
查看>>
webpack多页应用架构系列(七):开发环境、生产环境傻傻分不清楚?
查看>>
笨办法学C 练习1:启用编译器
查看>>
树的总结--树的性质(树的深度) leetcode
查看>>
【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!...
查看>>
linux 将大文件分成小文件
查看>>
CCNA- 距离矢量路由协议学习
查看>>
企业实践用户邮箱导入/导出(第2部分)
查看>>
如何学习Linux命令-初级篇
查看>>
从Oracle Public Yum为Oracle Linux建立本地的Yum源
查看>>