UNION联盟

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

1.UNION

2.UNION ALL

###UNION子句

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

限制

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

UNION子句语法

<MATCH Command1>
   UNION
<MATCH Command2>

我们试图将student标签和teacher标签union,保留name和age属性。

首先查看student标签和teacher标签下的节点(为了区别union和union all的差别,在teacher标签下创建并非teacher的name为Sheng Zeyu的节点):
【Neo4j08】CQL命令_UNION联盟
【Neo4j08】CQL命令_UNION联盟
我们需要使用as语句对union后的节点属性进行统一:
【Neo4j08】CQL命令_UNION联盟
得到union后的表格。

union all和union的区别在于是否排除重复的节点:
【Neo4j08】CQL命令_UNION联盟

【Neo4j08】CQL命令_UNION联盟
我们发现union all比union多一条重复的name为Sheng Zeyu的节点。

相关文章: