Neo4j学习Day5

Neo4j学习Day5

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


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

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基础无疑是帮了大忙。谢谢大家的阅读并且批评指正。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xiao艾扶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值