与SQL一样,Neo4j CQL有两个子句,将两个不同的结果合并成一组结果
它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行。
结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。
<MATCH Command1> UNION <MATCH Command2>
语法说明:
S.No. | 语法元素 | 描述 |
---|---|---|
1。 | <MATCH COMMAND1> | 它是CQL MATCH命令,由UNION子句使用。 |
2。 | <MATCH Command2> | 它是CQL MATCH命令两个由UNION子句使用。 |
3。 | UNION | 它是UNION子句的Neo4j CQL关键字。 |
注意 -
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
在本章中,我们将采取一个银行应用程序的节点:信用卡式和借记卡解释UNION子句
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。
MATCH (cc:CreditCard) RETURN cc
点击“下载CSV”来查看结果
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。
MATCH (dc:DebitCard) RETURN dc
点击“下载CSV”来查看结果
我们将利用这些数据来解释的Neo4j CQL UNION与实例的使用
本例说明:如果UNION子句的这两个查询确实有相同的名称或相同的数据类型及其列会发生什么。
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。
MATCH (cc:CreditCard) RETURN cc.id,cc.number UNION MATCH (dc:DebitCard) RETURN dc.id,dc.number
第3步 -点击执行按钮,看到成功消息数据浏览器。
这表明,这两个查询应具有相同的列名。
首先查询有:cc.id,cc.number。
第二个查询有:dc.id,dc.number。
这里既有信用卡式和借记卡具有相同的属性名:身份证和号码,但他们有不同的节点名称前缀。这就是为什么UNION命令显示此错误消息。为了避免这种错误,Neo4j的CQL提供“AS”子句。
像CQL,CQL Neo4j的“AS”子句用于给一些别名。
此示例演示如何使用UNION子句从两个节点检索数据。
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令,然后单击执行按钮。
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_to UNION MATCH (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
在这里,因为UNION子句过滤它们,我们可以看到该命令返回9行没有重复的行。
它结合并返回两个结果集的所有行成一个单一的结果集。它还返回由两个节点重复行。
结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。
<MATCH Command1> UNION ALL <MATCH Command2>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1。 | <MATCH COMMAND1> | 这是CQL match命令由UNION子句中使用的一个。 |
2。 | <MATCH命令2> | 这是CQL match命令两到由UNION子句中使用。 |
3。 | UNION ALL | 这是UNION ALL子句的Neo4j的CQL关键字。 |
注意 -
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
在本章中,我们将采取一个银行应用程序的节点:信用卡式和借记卡解释UNION子句
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。
MATCH (cc:CreditCard) RETURN cc
点击“下载CSV”来查看结果
第1步 -打开Neo4j的数据浏览器
第2步 -在数据浏览器的美元提示符处键入以下命令。
MATCH (dc:DebitCard) RETURN dc
点击“下载CSV”来查看结果
我们将利用这些数据来解释的Neo4j CQL UNION与实例的使用
本例说明:如果UNION子句的这两个查询确实有相同的名称或相同的数据类型及其列会发生什么。
第1步 -打开Neo4j的数据浏览器
这是Neo4j的数据浏览器首页
第2步 -在数据浏览器的美元提示符处键入以下命令。
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_to UNION ALL MATCH (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
第3步 -点击执行按钮,看到成功消息数据浏览器。
在这里,我们可以观察到这个命令返回10行,因为与UNION ALL子句不过滤它们重复行。如果我们使用UNION子句,它将返回只有9行。详情请参阅UNION子句章节进行检查。
Neo4j CQL将空值视为对节点或关系的属性的缺失值或未定义值。当我们创建一个具有现有节点标签名称但未指定其属性值的节点时,它...
CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。Neo4j CQL - 它是Neo4j图形数据库的查询语...
在前面几个章节中我们已经使用了MongoDB 的对象 Id(ObjectId)。在本章节中,我们将了解的ObjectId的结构。ObjectId 是一个12字节...
语法MongoDB 创建数据库的语法格式如下:use DATABASE_NAME如果数据库不存在,则创建数据库,否则切换到指定数据库。实例以下实...
在本教程我们将讨论MongoDB的不同连接方式。启动 MongoDB服务 在前面的教程中,我们已经讨论了如何启动MongoDB服务,你只需要在M...