图数据库之Neo4j学习笔记(三):WHERE子句和DELETE子句(超详细)

继续讲解Cypher语句的语法

WHERE 子句

简单WHERE子句语法:

	WHERE <condition>

较为复杂的WHERE子句:

WHERE <condition> <boolean-operator> <condition>

这里注意,这里是CQL中的布尔运算符。
Neo4j支持以下布尔运算符在Neo4j CQL WHERE子句中使用以支持多个条件。

符号描述
OR或关系
AND与关系
NOT非关系
XOR异或关系

这里与其他语言或数据库的布尔运算符类似,大家进行比较学习,总结归纳就行了。

Neo4j CQL中的比较运算符
Neo4j 支持以下的比较运算符,在 Neo4j CQL WHERE 子句中使用来支持条件。

符号描述
=等于
<>不等于
<小于
>大于
<=小于等于
>=大于等于

condition的语法:

<property-name> <comparison-operator> <value>

示例:
此示例演示如何在MATCH Command中使用CQL WHERE子句根据员工名称检索员工详细信息。
先创建一些节点:

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
CREATE (emp1:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})
CREATE (emp2:Employee{id:124,name:"sqwe",sal:36000,deptno:20})
CREATE (emp3:Employee{id:125,name:"qwer",sal:37000,deptno:30})
CREATE (emp4:Employee{id:126,name:"asdf",sal:38000,deptno:40})

进行查询:

MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno

结果:
在这里插入图片描述
进行where条件查询:

MATCH (emp:Employee) 
WHERE emp.name = 'asdf'
RETURN emp

得到名字是asdf的员工的信息:
在这里插入图片描述

使用布尔运算的查询:

MATCH (emp:Employee) 
WHERE emp.name = 'asdf' OR emp.name = 'sqwe'
RETURN emp

返回的是两个员工的信息:

在这里插入图片描述

DELETE子句

删除所有节点与关系:

代码如下:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
删除一个节点:

先查询这个节点,确认这个节点的存在:

MATCH (dept:Dept) RETURN dept

在这里插入图片描述
再执行以下命令:

MATCH(dept:Dept) DELETE dept

得到:
在这里插入图片描述

删除关系:

知道关系名称就行了。

MATCH( )-[ relationship_name:relationship_label]-( )
DELETE <relationship_name>

总结心得:

  • DELETE 删除节点和关系,都只需要知道名称就行,即如果关系名为qwe,执行DELETE qwe 就可以删除关系了。
  • 关键字不区分大小写,delete和DELETE是一样的用法
  • 想要删除或者创建关系或者节点,如果是创建关系,就必须用match先找到已有节点,如果是新节点,就使用create()-[]-()一次性创建两个节点和关系,总的说,如果是存在的节点,就必须先匹配到这个存在的节点,即使用match语句。
  • CREATE、DELETE、RETRUN 、WHERE等都经常会和MATCH一起使用,请重视!!

重要的事情说三遍:
MATCH很重要!
MATCH很重要!
MATCH很重要!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值