在Cypher中,你可以使用WITH
子句進行嵌套查詢。WITH
子句允許你在查詢的不同階段對數據進行轉換和篩選。以下是一個簡單的示例,展示了如何在Cypher中進行嵌套查詢:
假設我們有一個名為Person
的節點類型,其中包含name
和age
屬性。我們想要查詢年齡大于30歲且名字以字母"A"開頭的所有人。
MATCH (p:Person)
WITH p
WHERE p.age > 30 AND p.name STARTS WITH 'A'
RETURN p
在這個查詢中,我們首先使用MATCH
子句匹配所有的Person
節點。然后,我們使用WITH
子句將結果傳遞給下一個階段,即WHERE
子句。在WHERE
子句中,我們對每個節點應用篩選條件,即年齡大于30歲且名字以字母"A"開頭。最后,我們使用RETURN
子句返回滿足條件的節點。
如果你需要執行更復雜的嵌套查詢,可以使用多個WITH
子句。例如,假設我們想要查詢年齡大于30歲且名字以字母"A"開頭的所有人,然后返回他們的年齡和名字。
MATCH (p:Person)
WITH p
WHERE p.age > 30 AND p.name STARTS WITH 'A'
WITH p.age AS age, p.name AS name
RETURN age, name
在這個查詢中,我們在第一個WITH
子句中篩選出滿足條件的節點,然后在第二個WITH
子句中提取我們感興趣的字段(年齡和名字)。最后,我們返回這些字段作為查詢結果。