Neo4j学习Day5

Neo4j学习Day5

第五天依然是语法的掌握学习,大致目录如下。

文章目录


现在正式开始第五天的学习~~

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为准进行降序排列

Neo4j学习Day5

如上图所示,这是降序前所展示的列表。

输入以下代码后如下图所示。

MATCH(person:Person)
RETURN person.id,person.name,person.age
ORDER BY person.id DESC

Neo4j学习Day5

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创建出一个节点信息以及属性。

Neo4j学习Day5

2.用MATCH-RETURN尝试返回其运行结果。

Neo4j学习Day5

6.IN操作符

IN[<Collection-of-values>]

语法说明:

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

【举例】

Neo4j学习Day5

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

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

上一篇:如何变强?——省队集训Day5有感


下一篇:实训day5_2|蓝牙通信