1. 文章
  2. 文章详情

Neo4j CQL - WHERE子句

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

WHERE子句语法1

WHERE condition

WHERE子句语法2

WHERE condition boolean-operator condition

我们可以使用布尔运算符在同一命令上设置多个条件。

语法

property-name comparison-operator value

语法说明:

语法元素 描述
WHERE 它是一个Neo4j CQL关键字。
property-name
属性名称
它是节点或关系的属性名称。
comparison-operator
比较运算符
它是Neo4j CQL比较运算符之一。请参考下一节查看Neo4j CQL中可用的比较运算符。
value
它是一个字面值,如数字文字,字符串文字等。

Neo4j CQL中的布尔运算符

Neo4j支持以下布尔运算符在Neo4j CQL WHERE子句中使用以支持多个条件。

布尔运算符 描述
AND 它是一个支持AND操作的Neo4j CQL关键字。
OR 它是一个Neo4j CQL关键字来支持OR操作。
NOT 它是一个Neo4j CQL关键字支持NOT操作。 
XOR 它是一个支持XOR操作的Neo4j CQL关键字。 

Neo4j CQL中的比较运算符

Neo4j 支持以下的比较运算符,在 Neo4j CQL WHERE 子句中使用来支持条件。

布尔运算符 描述
= 它是Neo4j CQL“等于”运算符。
<> 它是一个Neo4j CQL“不等于”运算符。
< 它是一个Neo4j CQL“小于”运算符。
> 它是一个Neo4j CQL“大于”运算符。
<= 它是一个Neo4j CQL“小于或等于”运算符。
>= 它是一个Neo4j CQL“大于或等于”运算符。

例如:

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno

使用where条件

MATCH (emp:Employee) 
WHERE emp.name = 'Abc'
RETURN emp

例如:

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno

使用where条件

MATCH (emp:Employee) 
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp

使用WHERE子句创建关系

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

  • 创建两个现有节点之间的关系

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

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

现在我们讨论“使用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) 

语法说明:

语法元素 描述
MATCH,WHERE,CREATE 他们是Neo4J CQL关键字。
node1-label-name 它是一个用于创建关系的节点一标签名称。
node1-name 它是一个用于创建关系的节点名称。
node2-label-name 它是一个用于创建关系的节点一标签名称。
node2-name 它是一个用于创建关系的节点名称。
condition 它是一个Neo4J CQL WHERE子句条件。 它可以是简单的或复杂的。
relationship-label-name 这是新创建的节点一和节点二之间的关系的标签名称。
relationship-name 这是新创建的节点1和节点2之间的关系的名称。
relationship-properties 这是一个新创建节点一和节点二之间关系的属性列表(键 - 值对)。

例如:

MATCH (cust:Customer)
RETURN cust.id,cust.name,cust.dob

使用match

MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.expiredate,cc.cvv

使用where

MATCH (cust:Customer),(cc:CreditCard) 
WHERE cust.id = "1001" AND cc.id= "5001" 
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) 
RETURN r

发表评论

登录后才能评论

评论列表(0条)