Neo4j之union基础

UNION 用于将多个 MATCH 或 RETURN 子句的结果合并为一个结果集。它可以用来合并不同模式的节点和关系,或者将多个查询的结果合并在一起。以下是一些常用的示例和解释:

基本用法:

sql 复制代码
MATCH (p:Person)
WHERE p.age > 30
RETURN p.name AS name
UNION
MATCH (m:Movie)
WHERE m.year > 2000
RETURN m.title AS name

这个示例中,首先从满足条件的人节点中返回姓名,然后使用 UNION 将结果与满足条件的电影节点的标题合并起来。

多个查询合并:

sql 复制代码
MATCH (p:Person)
RETURN p.name AS name
UNION
MATCH (m:Movie)
RETURN m.title AS name
UNION
RETURN 'Unknown' AS name

这个示例中,将三个查询的结果合并在一起,分别是人的姓名、电影的标题以及一个固定的字符串。

合并节点和关系:

sql 复制代码
MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
RETURN p.name AS name
UNION
MATCH (d:Director)-[:DIRECTED]->(m:Movie)
RETURN d.name AS name

这个示例中,将演员和导演的姓名合并在一起,他们分别与电影节点通过不同关系相连接。

使用 ORDER BY 排序:

sql 复制代码
MATCH (p:Person)
RETURN p.name AS name
UNION
MATCH (m:Movie)
RETURN m.title AS name
ORDER BY name

这个示例中,先分别从人和电影节点中获取姓名和标题,然后使用 ORDER BY 对合并后的结果集进行排序。

总之,UNION 用于合并多个查询的结果,这些查询可以涉及不同类型的节点和关系,或者处理不同的属性。合并后的结果集会去除重复项,可以根据需要使用 ORDER BY 进行排序。

相关推荐
Sayai2 天前
Neo4j 社区版高可用实战:DRBD 块级复制 + Keepalived 虚拟 IP 冷备切换(附启停 SOP 与脑裂防范)
运维·neo4j·keepalived·高可用·drbd
喵本喵叁肆6 天前
diffprivlib 中文实战教程 · 第8讲:实战——从零改造一个 DP 模型
python·neo4j·差分隐私
智码看视界8 天前
大数据架构解析—数据血缘:从 SQL 解析到字段级溯源,搭建大数据平台数据治理底座
数据治理·neo4j·元数据·sql解析·数据血缘·datalineage·sqlglot
quweiie17 天前
Neo4j Community 安全访问配置总结
数据库·centos·neo4j
Sayai22 天前
Neo4j 内嵌模式(Embedded)实战:Java 嵌入式 vs 服务端部署的写入性能对比与 GC 调优
java·开发语言·性能优化·neo4j·图数据库
AugustRed1 个月前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Thomas.Sir1 个月前
第34课:TensorFlow|TF迁移学习实战【调用官方预训练模型微调训练】
tensorflow·neo4j·迁移学习
xing-xing2 个月前
Neo4j学习总结
neo4j
JOker_Chu_2 个月前
知识图谱详解:从图结构、关系建模到查询与应用
数据库·知识图谱·database·neo4j
veminhe2 个月前
使用neo4j构建知识图谱
人工智能·知识图谱·neo4j