(五)腿碰腿之Neo4j數(shù)據(jù)庫(kù)CQL語(yǔ)句的使用(3)

這一篇把CQL常用的命令進(jìn)行收尾, 順便會(huì)講一下CQL的幾個(gè)函數(shù)。
本篇主要內(nèi)容為UNION, LIMIT, SKIP, IN語(yǔ)句的使用, 字符串函數(shù), 聚合函數(shù), 關(guān)系函數(shù)的簡(jiǎn)單使用。

UNION合并

Neo4j的union和sql一樣, 包含兩個(gè)子句, 可以將不同的結(jié)果合成一組結(jié)果:

  • UNION
  • UNION ALL
<MATCH 1....>
 UNION
<MATCH 2...>

注意: 兩個(gè)不同的查詢結(jié)果如果返回的列名和數(shù)據(jù)類型不同, 將會(huì)拋出錯(cuò)誤, 我們需要使用as起個(gè)別名(前綴不同也會(huì)報(bào)錯(cuò))

示例: 我們將student和book進(jìn)行合并

MATCH (s:student) RETURN s.name as name union match (b:Book) RETURN b.name as name 

LIMIT和SKIP

LIMIT命令和SKIP命令比較簡(jiǎn)單, LIMIT就是限制查詢多少條, 比如我們值查詢student中的前兩條數(shù)據(jù)

MATCH (n:student) RETURN n LIMIT 2

SKIP命令就是跳過(guò)多少條數(shù)據(jù):

MATCH (n:student) RETURN n SKIP 3

通過(guò)上面兩條命令我們就能實(shí)現(xiàn)分頁(yè)的操作, 比較簡(jiǎn)單, 可以自定嘗試下

IN命令

和sql語(yǔ)句中幾乎一樣, 直接上示例, 查詢出student中age為22, 33的節(jié)點(diǎn)(注意用的是方括號(hào))

MATCH (n:student) WHERE n.age in ['22','33'] RETURN n 

CQL函數(shù) - 字符串函數(shù)

語(yǔ)法元素 描述
UPPER 轉(zhuǎn)大寫
LOWER 轉(zhuǎn)小寫
SUBSTRING 截取字符串
REPLACE 替換字符串
...

這里拿其中一個(gè)做示例, 其他的可自行嘗試, 我們對(duì)book節(jié)點(diǎn)地name進(jìn)行截取

MATCH (b:Book) RETURN substring(b.name, 1, 3)

聚合函數(shù)

語(yǔ)法元素 描述
COUNT match返回的行數(shù)
MAX match返回的最大值
MIN match返回的最小值
SUM match返回的求和
AVG match返回的平均值

關(guān)系函數(shù)

關(guān)系函數(shù)的作用主要是獲取開(kāi)始節(jié)點(diǎn), 結(jié)束節(jié)點(diǎn), 節(jié)點(diǎn)的信息等

語(yǔ)法元素 描述
STARTNODE 開(kāi)始節(jié)點(diǎn)
ENDNODE 結(jié)束節(jié)點(diǎn)
ID 關(guān)系id
TYPE 關(guān)系TYPE的字符串

示例: 我們可以查看購(gòu)買關(guān)系的開(kāi)始節(jié)點(diǎn):

MATCH p=()-[r:`購(gòu)買`]->() RETURN startnode(r)

到這里, CQL一些簡(jiǎn)單的使用就暫時(shí)告一段落了, 下一篇將介紹如何整合spring data neo4j。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容