Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/dql/clauses/where/ Documentation version: v5.3.2 # WHERE `WHERE`子句以布尔表达式的形式声明一个或多个过滤条件。该子句通常指定点或边的多个属性值以过滤由前模式匹配子句或语句生成的结果。 ## 语法 语法图源码 where_clause ```` where_clause ::= 'WHERE' value_expression ```` ## 参数 ### `value_expression` 充当过滤条件的布尔表达式。不满足条件的结果将被剔除。 更多信息,请参见[布尔类型](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-types/boolean-type/)和[表达式](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/fe/)。 ## 示例 以下示例假设临时图`#movie_temporary_graph`已创建并完成数据导入。 ### 使用单个条件过滤 ```` ''' USE #movie_temporary_graph { TABLE result_table TYPED TABLE {movie STRING, audience INT64, rate DOUBLE} MATCH (v@Movie)<-[e@Watch]-(u@`User`) WHERE e.rate > 3 PER PATH { EXPORT v.name AS movie, u.id AS audience, e.rate AS rate INTO result_table } FOR r IN result_table RETURN r.movie AS movie, r.audience AS audience, r.rate AS rate ORDER BY r.movie ASC, r.audience ASC, r.rate DESC LIMIT 3 } ''' ```` 返回: ```` +---------------+----------+------+ | movie | audience | rate | +---------------+----------+------+ | A Close Shave | 16 | 4.0 | | A Close Shave | 18 | 4.0 | | A Close Shave | 19 | 4.0 | +---------------+----------+------+ ```` ### 使用多个条件过滤 ```` ''' USE #movie_temporary_graph { TABLE result_table TYPED TABLE {movie STRING, rate DOUBLE} MATCH (v@Movie)<-[e@Watch]-(u@`User`) WHERE e.rate > 2 AND u.id = 100 PER PATH { EXPORT v.name AS movie, e.rate AS rate INTO result_table } FOR r IN result_table RETURN r.movie AS movie, r.rate AS rate } ''' ```` 返回: ```` +--------------------------------------+------+ | movie | rate | +--------------------------------------+------+ | Pi | 4.5 | | William Shakespeare's Romeo & Juliet | 4.0 | +--------------------------------------+------+ ````