3.3.14 RETURN語句
RETURN語句定義了查詢結果集中返回的內容。在查詢的RETURN部分定義了模式中感興趣的部分。它可以是節點、關系或者是它們的屬性。RETURN圖例如圖3-17所示。
提示:如果只需要屬性值,就要盡量避免返回整個節點或關系,這樣有助于提高性能。

圖3-17 RETURN圖例
3.3.14.1 返回節點
返回匹配到的節點,如下所示。
查詢:

本例中返回包含name屬性值為B的節點。
結果:

3.3.14.2 返回關系
返回匹配的關系,如下所示。
查詢:

本例中返回了關系。
結果:

3.3.14.3 返回屬性
返回屬性可以用點來引用屬性,如下所示。
查詢:

本例中返回了name屬性的值。
結果:

3.3.14.4 返回所有元素
當希望返回查詢中找到的所有節點、關系和路徑時,可以使用星號*表示。如下所示。
查詢:

本例中返回了兩個節點、關系和路徑。
結果:

3.3.14.5 變量中的特殊字符
如果想使用空格等特殊字符,可以用反引號“`”將其括起來,如下所示。
查詢:

結果將返回name屬性值為A的節點。
結果:

3.3.14.6 列別名
如果希望列名不同于表達式中使用的名字,可以使用AS<new name>對其重命名。
查詢:

結果將返回節點的age屬性,但列名由原有的age重命名為SomethingTotallyDifferent了。
結果:

3.3.14.7 可選屬性
如果某個屬性可能存在,也可能不存在。這時,依然可以正常地去查詢,對于不存在的屬性,Cypher則返回null。
查詢:

本例中有age屬性的節點返回了具體的年齡,而沒有這個屬性的節點則返回null。
結果:

3.3.14.8 其他表達式
任何表達式都可以作為返回項,如字面值、斷言、屬性、函數和任何其他表達式。
查詢:

本例中返回了斷言、字符串和帶模式表達參數的函數調用。
結果:

3.3.14.9 唯一性結果
DISTINCT用于僅僅獲取結果集中所依賴列的唯一行。
查詢:

本例中只返回了一次name為B的節點。
結果:
