如何使用Cypher查询语言查找属性值处于指定范围的节点?
使用Cypher查询指定人口范围的城市名称
假设你的城市节点标签为City,包含name(城市名称)和population(人口)两个属性,以下是几种常用的查询方式:
方式一:使用BETWEEN关键字
BETWEEN会包含设定的两个边界值,语法简洁直观:
MATCH (c:City) WHERE c.population BETWEEN 500000 AND 2000000 RETURN c.name AS 城市名称
把示例里的500000和2000000替换成你需要的人口上下限即可。
方式二:使用比较运算符
如果需要灵活控制是否包含边界(比如排除恰好等于上限或下限的情况),可以直接用>=、<=、>、<组合:
MATCH (c:City) WHERE c.population > 500000 AND c.population < 2000000 RETURN c.name AS 城市名称
上面的例子会排除人口刚好是50万或200万的城市,根据你的需求调整运算符就行。
动态传入范围参数
如果需要频繁调整查询的人口范围,可以用参数代替硬编码的数值,让查询更灵活:
MATCH (c:City) WHERE c.population BETWEEN $min_pop AND $max_pop RETURN c.name AS 城市名称
执行查询时传入min_pop和max_pop两个参数的具体值即可。
内容的提问来源于stack exchange,提问作者Taja Jan
相关产品推荐
相关产品推荐

