UNION
与SQL一样,Neo4j CQL有两个子句,将两个不同的结果合并成一组结果
- UNION
- UNION ALL
- UNION子句 它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行。
- 限制: 结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。
我们将采取一个银行应用程序的节点:信用卡式和借记卡解释UNION子句
创建信用卡节点数据
create (cc:CreditCard{id:“123”,name:“abc”,number:“5555”,cvv:121})
create (cc:CreditCard{id:“124”,name:“abe”,number:“5553”,cvv:121})
create (cc:CreditCard{id:“125”,name:“abf”,number:“5552”,cvv:121})
create (cc:CreditCard{id:“126”,name:“abg”,number:“5551”,cvv:121})
创建借记卡数据的节点
create (dc:DebitCard{id:“123”,name:“abc”,number:“5555”})
create (dc:DebitCard{id:“124”,name:“abe”,number:“5553”})
create (dc:DebitCard{id:“225”,name:“abf”,number:“5552”})
create (dc:DebitCard{id:“226”,name:“abg”,number:“5551”})
tips:union的列个数,列类型,类名称必须一致才会被union且数据去重,union all 则不会去重 同sql用法一样
match(cc:CreditCard)
return cc.id as id,cc.name as name,cc.number as number #必须使用别名才能匹配否则语法报错,因为所在节点名称不一样 cc,dc
union
match(dc:DebitCard)
return dc.id as id ,dc.name as name,dc.number as number
unionall用法
match(cc:CreditCard)
return cc.id as id,cc.name as name,cc.number as number
union all
match(dc:DebitCard)
return dc.id as id ,dc.name as name,dc.number as number
LIMIT
- Neo4j CQL已提供“LIMIT”子句来过滤或限制查询返回的行数。 它修剪CQL查询结果集底部的结果。
语法
match (cc:CreditCard)
return cc
limit 2 # 返回2条数据
SKIP
- skip的作用呢就是忽略前几行,从而可以实现咱们想要的显示后几行的功能
语法
match (cc:CreditCard)
return cc
skip 1 #该语句的意思为跳过第一行从第二行开始返回余下数据