【Neo4j04】CQL命令_WHERE子句

本文详细介绍了CQL_MATCH命令中的WHERE子句如何用于过滤MATCH查询结果,包括简单和复杂的WHERE子句语法,布尔运算符及比较运算符的使用,并通过实例展示了如何在Neo4j中使用WHERE子句进行精确查询和创建关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WHERE子句

CQL_MATCH命令中提供了WHERE子句来过滤MATCH查询的结果。

简单WHERE子句语法
WHERE <condition>
复杂WHERE子句语法
WHERE <condition> <boolean-operator> <condition>
condition语法
<property-name> <comparison-operator> <value>

布尔运算符:
1.AND 2.OR 3.NOT 4.XOR

比较运算符:
1.= 2.<> 3.< 4.> 5.<= 6.>=

简单WHERE子句

此前创造过四个标签名同为university的节点ZJU,PKU,ECUST,SJTU,通过MATCH-RETURN命令查看四个节点的所有属性:
在这里插入图片描述
我们通过WHERE子句寻找location为Shanghai的university节点:
在这里插入图片描述
于是得到了两个location为Shanghai的节点SJTU和ECUST。

复杂WHERE子句

我们通过WHERE子句寻找location为Shanghai,name为ECUST的节点:
在这里插入图片描述
最终得到唯一符合寻找条件的节点ECUST。

我们还可以通过OR运算符寻找location为Shanghai或Beijing的节点:
在这里插入图片描述
最终得到三个符合条件的节点PKU,SJTU,ECUST。

使用WHERE子句创建关系

在Neo4J CQL中,我们可以以不同的方式创建拖曳节点之间的关系。

1.创建两个现有节点之间的关系。

2.一次创建两个节点和它们之间的关系。

3.使用WHERE子句创建两个现有节点之间的关系。

语法
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>) 
WHERE <condition>
CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
   {<relationship-properties>}]->(<node2-label-name>) 

我们查找所有的标签名为student的节点和标签名为university的节点:
在这里插入图片描述
在这里插入图片描述
将每一个university节点的name和每一个student节点的university相同创建关系IS_GRADUATED_FROM:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值