我正在学习Nosql,我正在使用Neo4j沙盒,这里是我的查询创建我的节点和它们之间的关系:
CREATE (n0:Student { nb: '0', name: 'A' })
CREATE (n1:Student { nb: '1', name: 'B' })
CREATE (n2:Student { nb: '2', name: 'C' })
CREATE (n3:Student { nb: '3', name: 'D' })
CREATE (n4:Student { nb: '4', name: 'E' })
CREATE (c1:Course { course_nb: '1', course_name: 'Cryptography' })
CREATE (c2:Course { course_nb: '2', course_name: 'Big Data' })
CREATE (c3:Course { course_nb: '3', course_name: 'Cloud' })
CREATE (n1)-[:Follow]->(c1)
CREATE (n2)-[:Follow]->(c1)
CREATE (n3)-[:Follow]->(c1)
CREATE (n3)-[:Follow]->(c2);
我要列出与同一course_nb或course_name属性相关的students节点
Result should be :
╒------------------╤-------------------- -╕
| "Students.name" | "Courses.course_name"|
-------------------|-----------------------
"B" | "Cryptography"
"C" | "Cryptography"
"D" | "Cryptography"
我试过这个查询:
MATCH(n:Course)<-[r:Follow]-(name)
RETURN n
这将返回与Students节点相关的所有课程,我还尝试了一些使用WHERE和WITH语句的查询,但没有成功
基本上我想列出修同一门课的学生。
1条答案
按热度按时间wpcxdonn1#
您可以通过在
MATCH
子句中应用course_nb
筛选器来获取与课程相关的所有学员,如下所示:或者,您应该按课程名称对学员进行分组,并且只选择具有多个学员的课程,如下所示: