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.语法元素描述
1ORDER BY这是一个Neo4j的CQL关键字。
2<property-name-list>它是在分拣使用的属性的列表。
3DESC它是用于指定降序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子句中使用。
3UNION这是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子句中使用。
3UNION ALL这是UNION ALL子句的Neo4j的CQL关键字。

注意

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

4.限制和条款

4.1 限制limit子句

LIMIT <number>

语法说明

S.No.语法元素描述
1limit这是一个Neo4j的CQL关键字。
2<number>它是一个跨值。

比如说,我们想返回表中前面两行的信息,就可以在RETURN后再加上LIMIT子句。

4.2 SKIP条款

SKIP <number>

语法说明

S.No.语法元素描述
1SKIP这是一个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.语法元素描述
1MERGE这是一个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.语法元素描述
1in这是一个Neo4j的CQL关键字。
2[它告诉Neo4j的CQL该值的集合的开始。
3]它告诉Neo4j的CQL该值的集合的末尾。
4<Collection-of-values>它是由逗号运算符分隔值的集合。

【举例】

上图所示的是文档中创建过的person节点中,将id='1001',id='1002'的信息返回并以列表显示。

以上的知识点在SQL语句中也有大量涉及到哟,这为日后打好MySQL基础无疑是帮了大忙。谢谢大家的阅读并且批评指正。



这篇关于Neo4j学习Day5的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程