第五天依然是语法的掌握学习,大致目录如下。
ORDER BY
语句Neo4j的CQL语句提供排序的命令,我们可以排序行升序或者降序。
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表
如上图所示,这是降序前所展示的列表。
输入以下代码后如下图所示。
MATCH(person:Person) RETURN person.id,person.name,person.age ORDER BY person.id DESC
它结合并返回来自两个组结果共同行到单个组结果。 它不会从两个节点返回重复的行。
结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。
<MATCH Command1> UNION <MATCH Command2>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | <MATCH COMMAND1 > | 这是CQL match命令由UNION子句中使用的一个。 |
2 | <MATCH COMMAND2 > | 这是CQL match命令两到由UNION子句中使用。 |
3 | UNION | 这是UNION子句的Neo4j的CQL关键字。 |
注意
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
它结合并返回两个结果集的所有行成一个单一的结果集。 它还返回由两个节点重复行。
结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。
<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关键字。 |
注意
如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。
limit
子句LIMIT <number>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | limit | 这是一个Neo4j的CQL关键字。 |
2 | <number> | 它是一个跨值。 |
比如说,我们想返回表中前面两行的信息,就可以在RETURN
后再加上LIMIT
子句。
SKIP <number>
语法说明
S.No. | 语法元素 | 描述 |
---|---|---|
1 | SKIP | 这是一个Neo4j的CQL关键字。 |
2 | <number> | 它是一个跨值。 |
它的大致意思是跳过前number
个信息。比如使用SKIP 2
后,运行后会自动跳过前面2行的信息。
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
尝试返回其运行结果。
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基础无疑是帮了大忙。谢谢大家的阅读并且批评指正。