如何将计算两个实体匹配数量的SQL语句转换为Cypher语句
SQL内连接转Cypher实现两实体匹配数量统计
你给出的SQL是实现Dogs表和Cats表的内连接,满足指定关联条件后统计匹配的总条数,对应的Cypher写法如下:
MATCH (d:Dogs), (c:Cats) WHERE [此处替换为你原SQL中ON后的关联条件] RETURN count(*)
各部分和SQL的对应逻辑说明:
(d:Dogs)对应SQL的FROM Dogs,d为Dogs标签节点的别名,和SQL的表别名作用一致(c:Cats)对应SQL的INNER JOIN Cats,Cypher中同时匹配两类节点的逻辑和内连接完全等价,仅当两边节点都存在且满足后续条件时才会被保留- WHERE子句完全对应SQL中
ON后的关联条件,直接按Cypher语法改写原有条件即可
举个实际使用示例,如果你原SQL的关联条件是Dogs.owner_id = Cats.owner_id,即统计同一个主人饲养的猫狗配对总数,对应的Cypher语句为:
MATCH (d:Dogs), (c:Cats) WHERE d.owner_id = c.owner_id RETURN count(*)
内容的提问来源于stack exchange,提问作者Mastege
相关产品推荐
相关产品推荐

