- Neo4j CQL
- Neo4j CQL - 简介
- Neo4j CQL - 创建节点
- Neo4j CQL - 创建关系
- Neo4j CQL 写入子句
- Neo4j - MERGE 命令
- Neo4j - SET 子句
- Neo4j - DELETE 子句
- Neo4j - REMOVE 子句
- Neo4j - FOREACH 子句
- Neo4j CQL 通用子句
- Neo4j - RETURN 子句
- Neo4j - ORDER BY 子句
- Neo4j - LIMIT 子句
- Neo4j - SKIP 子句
- Neo4j - WITH 子句
- Neo4j - UNWIND 子句
- Neo4j CQL 函数
- Neo4j - 字符串函数
- Neo4j - 聚合函数
- Neo4j CQL 管理
- Neo4j - 备份与恢复
- Neo4j - 索引
- Neo4j - 创建唯一约束
- Neo4j - 删除唯一约束
- Neo4j 有用资源
- Neo4j - 快速指南
- Neo4j - 有用资源
- Neo4j - 讨论
Neo4j - WHERE 子句
与 SQL 类似,Neo4j CQL 在 CQL MATCH 命令中提供了 WHERE 子句来过滤 MATCH 查询的结果。
语法
以下是 WHERE 子句的语法。
MATCH (label) WHERE label.country = "property" RETURN label
示例
在继续示例之前,请在数据库中创建五个节点,如下所示。
CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"} CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"} CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, country:"Srilanka"}) CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"}) CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"}) CREATE(Ind:Country {name: "India", result: "Winners"})
以下是一个示例 Cypher 查询,它使用 WHERE 子句返回属于印度的所有球员(节点)。
MATCH (player) WHERE player.country = "India" RETURN player
要执行上述查询,请执行以下步骤:
步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按下播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。
结果
执行后,您将获得以下结果。
包含多个条件的 WHERE 子句
您还可以使用 WHERE 子句来验证多个条件。
语法
以下是使用 WHERE 子句在 Neo4j 中包含多个条件的语法。
MATCH (emp:Employee) WHERE emp.name = 'Abc' AND emp.name = 'Xyz' RETURN emp
示例
以下是一个示例 Cypher 查询,它使用两个条件过滤 Neo4j 数据库中的节点。
MATCH (player) WHERE player.country = "India" AND player.runs >=175 RETURN player
要执行上述查询,请执行以下步骤:
步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按下播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。
结果
执行后,您将获得以下结果。
使用关系与 WHERE 子句
您还可以使用 WHERE 子句通过关系来过滤节点。
示例
假设我们在数据库中有以下图形。
以下是一个示例 Cypher 查询,用于使用 WHERE 子句检索印度的最佳射手,如下所示。
MATCH (n) WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"}) RETURN n
要执行上述查询,请执行以下步骤:
步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://127.0.0.1:7474/ 打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 - 将所需的查询复制并粘贴到美元提示符中,然后按下播放按钮(以执行查询),如下面的屏幕截图中突出显示的那样。
结果
执行后,您将获得以下结果。在这里,您可以观察到 Neo4j 返回了该节点,该节点与名称为印度的节点具有 TOP_SCORER_OF 关系。