導入
パターンの波括弧に直接書ける条件は「値が一致するか」だけです。「1990年より後に生まれた人」のような比較や、複数条件の組み合わせには WHERE 句を使います。
説明
MATCH (p:Person)
WHERE p.born > 1990
RETURN p.name, p.born
WHERE では、次のような演算子や条件が使えます。
- 比較演算子:
=、<>(等しくない)、<、<=、>、>= - 論理演算子:
AND、OR、NOT - 文字列の条件:
STARTS WITH(前方一致)、ENDS WITH(後方一致)、CONTAINS(部分一致) - リストに含まれるか:
IN
MATCH (p:Person)
WHERE p.born >= 1985 AND p.born < 1995
RETURN p.name, p.born
MATCH (m:Movie)
WHERE m.title STARTS WITH 'The'
RETURN m.title
MATCH (p:Person)
WHERE p.name IN ['Alice', 'Bob', 'Carol']
RETURN p.name
パターンの波括弧内に書く条件({name: 'Alice'})は「完全一致」しか表せませんが、WHERE を使えば範囲・部分一致・複数条件の組み合わせなど、柔軟な絞り込みができます。実務では、単純な一致以外の条件はほぼ WHERE を使うと考えてよいでしょう。