Cypher查询中WHERE子句多条件连接方法及AND有效性确认
Cypher WHERE子句多条件连接的正确方式
在Cypher的WHERE子句中,完全可以用AND/OR来连接多个条件,这是官方支持的标准写法,除此之外还有等价的逗号写法,具体用法如下:
- 用
AND实现“且”逻辑:当需要多个条件同时满足时,直接用AND串联,比如筛选年龄大于18且位于北京的用户节点:
MATCH (u:User) WHERE u.age > 18 AND u.city = '北京' RETURN u.name
- 用
OR实现“或”逻辑:只要满足任一条件即可返回,比如筛选年龄小于18或位于上海的用户:
MATCH (u:User) WHERE u.age < 18 OR u.city = '上海' RETURN u.name
- 逗号分隔等价于
AND:如果多个条件都是“且”关系,也可以用逗号替代AND,写法更简洁,效果完全一致:
MATCH (u:User) WHERE u.age > 18, u.city = '北京' RETURN u.name
- 复杂逻辑用括号分组:当同时存在
AND和OR时,一定要用括号明确优先级,避免逻辑混乱,比如筛选年龄大于18且(位于北京或上海)的用户:
MATCH (u:User) WHERE u.age > 18 AND (u.city = '北京' OR u.city = '上海') RETURN u.name
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

