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 
    
    要执行上述查询,请执行以下步骤 -
    Step 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    Step 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    在哪里播放器

    结果

    执行时,您将得到以下结果。
    结果在哪里
  • 具有多个条件的 WHERE 子句

    您还可以使用 WHERE 子句来验证多个条件。

    句法

    以下是在带有多个条件的 Neo4j 中使用 WHERE 子句的语法。
    
    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 
    
    要执行上述查询,请执行以下步骤 -
    Step 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    Step 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    回归球员

    结果

    执行时,您将得到以下结果。
    条件结果
  • 将关系与 Where 子句一起使用

    您还可以使用 Where 子句使用关系过滤节点。

    例子

    假设我们在数据库中有以下图表。
    假定数据库
    以下是使用 WHERE 子句检索印度最高得分者的示例 Cypher 查询,如下所示。
    
    MATCH (n) 
    WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"}) 
    RETURN n 
    
    要执行上述查询,请执行以下步骤 -
    Step 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    Step 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    获奖者结果

    结果

    执行时,您将得到以下结果。在这里您可以观察到 Neo4j 返回了节点,该节点与名称为 India 的节点具有 TOP_SCORER_OF 关系。
    返回节点