Neo4j CQL在CQL MATCH命令中提供了WHERE子句来过滤MATCH查询的结果。
WHERE子句语法1
WHERE conditionWHERE子句语法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条)