Neo4j数据库学习四:where子句
2018-09-13 本文已影响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)