Neo4j学习Day5
2021/6/5 10:52:09
本文主要是介绍Neo4j学习Day5,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Neo4j学习Day5
第五天依然是语法的掌握学习,大致目录如下。
文章目录
- Neo4j学习Day5
- 1.排序
- 1.1 CQL `ORDER BY` 语句
- 1.2 子句语法
- 2.UNION子句
- 2.1限制:
- 2.2UNION子句语法
- 3.UNION ALL子句
- 3.1 限制
- 3.2 UNION ALL子句语法
- 4.限制和条款
- 4.1 限制`limit`子句
- 4.2 SKIP条款
- 5.CQL合并
- 6.IN操作符
现在正式开始第五天的学习~~
1.排序
1.1 CQL ORDER BY
语句
Neo4j的CQL语句提供排序的命令,我们可以排序行升序或者降序。
1.2 子句语法
ORDER BY <property-name-list> [DESC]
S.No. | 语法元素 | 描述 |
---|---|---|
1 | ORDER BY | 这是一个Neo4j的CQL关键字。 |
2 | <property-name-list > | 它是在分拣使用的属性的列表。 |
3 | DESC | 它是用于指定降序order.It是可选的一个Neo4j的CQL关键字。 |
其中属性名语法说明如下:
<node-label-name>.<property1-name>, <node-label-name>.<property2-name>, .... <node-label-name>.<propertyn-name>
S.No. | 语法元素 | 描述 |
---|---|---|
1 | <node-label-name > | 这是一个节点的标签名称。 |
2 | <property-name > | 它是一个节点的属性名。 |
这里需要注意:我们应该用逗号(,)运算符分隔的属性名称列表。
【举例】输出降序id表
- 打开数据浏览器
- 根据前面学习的案例进行排序前的检查
- 对列表以id为准进行降序排列
如上图所示,这是降序前所展示的列表。
输入以下代码后如下图所示。
MATCH(person:Person) RETURN person.id,person.name,person.age ORDER BY person.id DESC
2.UNION子句
它结合并返回来自两个组结果共同行到单个组结果。 它不会从两个节点返回重复的行。
2.1限制:
结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。
2.2UNION子句语法
<MATCH Command1> UNION <MATCH Command2>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | <MATCH COMMAND1 > | 这是CQL match命令由UNION子句中使用的一个。 |
2 | <MATCH COMMAND2 > | 这是CQL match命令两到由UNION子句中使用。 |
3 | UNION | 这是UNION子句的Neo4j的CQL关键字。 |
注意
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
3.UNION ALL子句
它结合并返回两个结果集的所有行成一个单一的结果集。 它还返回由两个节点重复行。
3.1 限制
结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。
3.2 UNION ALL子句语法
<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关键字。 |
注意
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
4.限制和条款
4.1 限制limit
子句
LIMIT <number>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | limit | 这是一个Neo4j的CQL关键字。 |
2 | <number> | 它是一个跨值。 |
比如说,我们想返回表中前面两行的信息,就可以在RETURN
后再加上LIMIT
子句。
4.2 SKIP条款
SKIP <number>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | SKIP | 这是一个Neo4j的CQL关键字。 |
2 | <number> | 它是一个跨值。 |
它的大致意思是跳过前number
个信息。比如使用SKIP 2
后,运行后会自动跳过前面2行的信息。
5.CQL合并
Neo4j的CQL MERGE使用命令
- 要创建节点,关系和属性
- 为了从数据库中检索数据
MERGE命令相当于CREATE
命令和MATCH
命令的组合。
MERGE = CREATE + MATCH
Neo4j的CQL MERGE图中的给定模式命令搜索,如果存在则返回结果
如果它不在图中存在,则它创建新的节点/关系并返回结果。
Neo4j的CQL MERGE语法
MERGE (<node-name>:<label-name> { <Property1-name>:<Pro<rty1-Value> ..... <Propertyn-name>:<Propertyn-Value> })
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | MERGE | 这是一个Neo4j的CQL关键字。 |
2 | <node-name > | 它是一个节点或关系的名称。 |
3 | <label-name > | 这是一个节点或关系的标签名称。 |
4 | <PROPERTY_NAME > | 这是一个节点或关系的属性名。 |
5 | <PROPERTY_VALUE > | 这是一个节点或关系的属性值。 |
6 | : | 使用冒号(:)操作符来分隔属性名称和一个节点或关系的价值。 |
【举例】
1.首先用MERGE
创建出一个节点信息以及属性。
2.用MATCH-RETURN
尝试返回其运行结果。
6.IN操作符
IN[<Collection-of-values>]
语法说明:
S.No. | 语法元素 | 描述 |
---|---|---|
1 | in | 这是一个Neo4j的CQL关键字。 |
2 | [ | 它告诉Neo4j的CQL该值的集合的开始。 |
3 | ] | 它告诉Neo4j的CQL该值的集合的末尾。 |
4 | <Collection-of-values> | 它是由逗号运算符分隔值的集合。 |
【举例】
上图所示的是文档中创建过的person
节点中,将id='1001',id='1002'
的信息返回并以列表显示。
以上的知识点在SQL语句中也有大量涉及到哟,这为日后打好MySQL基础无疑是帮了大忙。谢谢大家的阅读并且批评指正。
这篇关于Neo4j学习Day5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南