美文网首页数据库Neo4j数据库
Neo4j数据库学习四:where子句

Neo4j数据库学习四:where子句

作者: 陆_志东 | 来源:发表于2018-09-13 16:54 被阅读1次

语法:

简单的语法
WHERE <condition>

使用布尔运算符连接多个条件
WHERE <condition> <boolean-operator> <condition>

 <condition> 书写格式
<property-name> <comparison-operator> <value>

<boolean-operator>:布尔运算符
<comparison-operator> :比较运算符

布尔运算符

- and 与
- or 或
- not 非
- xor 异或

比较运算符

- = 等于
- <> 不等
- < 小于
- > 大于
- <= 大于等于
- >= 小于等于

示例:

match(e:Customer) return e.name,e.id,e.dob
╒════════╤══════╤════════════╕
│"e.name"│"e.id"│"e.dob"     │
╞════════╪══════╪════════════╡
│"Abc"   │"1001"│"01/10/2015"│
├────────┼──────┼────────────┤
│null    │null  │null        │
└────────┴──────┴────────────┘

match(e:Customer) where not e.name is null return e.name,e.id,e.dob

╒════════╤══════╤════════════╕
│"e.name"│"e.id"│"e.dob"     │
╞════════╪══════╪════════════╡
│"Abc"   │"1001"│"01/10/2015"│
└────────┴──────┴────────────┘

match(e:Customer) where  e.name is not null return e.name,e.id,e.dob
╒════════╤══════╤════════════╕
│"e.name"│"e.id"│"e.dob"     │
╞════════╪══════╪════════════╡
│"Abc"   │"1001"│"01/10/2015"│
└────────┴──────┴────────────┘

create (e:Customer {name:"nick",id:"1",dob:"06/12/2018"})
注意创建节点的时候,不能把属性{} 写到() 外面,属性key也不能带引号

match(e:Customer) where  e.name is not null return e.name,e.id,e.dob
╒════════╤══════╤════════════╕
│"e.name"│"e.id"│"e.dob"     │
╞════════╪══════╪════════════╡
│"Abc"   │"1001"│"01/10/2015"│
├────────┼──────┼────────────┤
│"nick"  │"1"   │"06/12/2018"│
└────────┴──────┴────────────┘

match(e:Customer) where  e.name <> "Abc" return e.name,e.id,e.dob
╒════════╤══════╤════════════╕
│"e.name"│"e.id"│"e.dob"     │
╞════════╪══════╪════════════╡
│"nick"  │"1"   │"06/12/2018"│
└────────┴──────┴────────────┘

注意:null不能用比较运算符判断,应该用is, 还有上面可以对判断的结果取反not,也可以is not null,但是不能not is null

结合where 子句创建关系

语法:

MATCH (<node1-name>:<node1-label-name>),(<node2-name>:<node2-label-name>) 
WHERE <condition>
CREATE (<node1-name>)-[<relationship-label-name>:<relationship-name>
       {<relationship-properties>}]-><node2-name>) 

示例

match(e:Customer),(cc:CreditCard) where e.name="nick" and cc.id = "5001" return e,cc
╒═══════════════════════════════════════════╤════════════════════════════════════════════════════════════════════╕
│"e"                                        │"cc"                                                                │
╞═══════════════════════════════════════════╪════════════════════════════════════════════════════════════════════╡
│{"name":"nick","dob":"06/12/2018","id":"1"}│{"number":"1234567890","cvv":"888","expiredate":"20/17","id":"5001"}│
└───────────────────────────────────────────┴────────────────────────────────────────────────────────────────────┘

match(e:Customer),(cc:CreditCard) 
where e.name="nick" and cc.id = "5001" 
create (e)-[shop:ShoppingWithCard {date:"2018-09-13",money:"1000"}]->(cc)

相关文章

  • Neo4j数据库学习四:where子句

    语法: 布尔运算符 比较运算符 示例: 注意:null不能用比较运算符判断,应该用is, 还有上面可以对判断的结果...

  • MySQL 搜索语句--过滤数据

    MySQL使用SELECT语句的WHERE子句指定搜索条件。 使用WHERE子句 数据库表一般包含大量的数据,有时...

  • MYSQL语法

    数据库创建删除 创建删除表 数据插入 WHERE子句 where子句一般后面跟着条件语句: 更新语句 UPDATE...

  • Laravel下的数据库查询

    嵌套where子句 在进行数据库查询操作时,有时候数据库的操作并不是简单的一两个where子句,而是更加复杂的条件...

  • SQL 对结果进行过滤(一)

    本节,我们将来学习 SELECT 语句中 WHERE 子句的基本用法:通过 WHERE 子句来指定搜索条件。 使用...

  • Neo4j-1.5 WHERE子句

    MATCH命令中可以用WHERE子句来过滤结果 简单WHERE子句: 复杂WHERE子句: 其中

  • 第四课 过滤数据

    将用 SELECT 和 WHERE 指定搜索条件 一、使用WHERE子句 WHERE 的使用:WHERE 子句在表...

  • 四、SQL WHERE 子句

    WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 语法 SELEC...

  • 第七十二章 SQL命令 SELECT(四)

    第七十二章 SQL命令 SELECT(四) WHERE子句 WHERE子句限定或取消查询选择中的特定行。符合条件的...

  • 2020-04-03:关于hive中的join关联

    1 .WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。INNER JOIN……ON子句产生的连接称...

网友评论

    本文标题:Neo4j数据库学习四:where子句

    本文链接:https://www.haomeiwen.com/subject/iiowgftx.html