排序 order by

按照英雄的血量排序

match(n:hero) return n order by n.HP  
倒序加desc

结果:

image.png

skip limit

skip 跳过前多少行

union union all

union:把多段match的return结果 上线组合一个结果集,会自动去掉重复行

union all :作用同union ,但是不去重

match(n:hero) where n.HP>2000 return n.HP,n.speed union all match(n:hero) where n.speed='340' return n.HP,n.speed 
如何去除空值 
加上 
where and n.age is not null

image.png

in语法

中括号

match(n:hero) where n.name in ['孙尚香','鬼谷子','关羽'] return n.name,n.speed union all match(n:hero) where n.speed='340' return n.name,n.speed

image.png

内置id

1.每个节点或relation都有个系统分配的id,从0开始递增,全局唯一! 2.Create (a:Person {id:’123’}) //这里的ID是一个属性,和内置ID是两码事 3.通过函数id(node/relation) 可以获取id值; 不透明,犹如Oracle里的rowid; 4.用户可定义id属性,与内置id无关;

relation 具有方向性

查询时呢?

MATCH (n:Person)-[:FUQI]-(s:Person) RETURN distinct n,s

索引 index

create index on :Person(id); 
drop index on :Person(id);

给哪些字段创建索引呢?根据查询需要,把查询多的字段建索引。

create index on :Person(name);

1、不需要给索引起名称,只需要设置索引字段即可;

2、通过该字段的查询都走索引

  • where
  • in
  • substring

关系DB中:索引字段套一层函数的话,基本不走索引了。

执行计划

explain match (n:hero) where n.name='孙尚香'return n

查的慢的话看一下执行计划 加索引会提高执行结构

没有创建索引

image.png

属性唯一约束 constraint

可以给某一个属性设置唯一约束

CREATE CONSTRAINT ON (a:Person) ASSERT a.id IS UNIQUE 

drop CONSTRAINT ON (a:Person) ASSERT a.id IS UNIQUE

原文地址: IT虾米网


发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

图数据库neo4j介绍(3)——CypherCreateMatchSetDELETE REMOVE知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。