如果理解了查询的组成部分,就可以更有效地使用查询编译器。
查询是由使用设置运算符合并的表达式组成的。
表达式由以下三个部分组成:
使用特性、比较运算符和值创建表达式,如下所示:
使用设置运算符合并表达式或对表达式求反。
例如,如果使用 OR 设置运算符合并上述头两个表达式,则得到的查询为:
(Point Number = 1-100) OR (Point Elevation > 1200)
以上查询将点编号在 1 和 100 之间的点或点高程大于 1200 的点添加到点编组中。
如果使用 AND 设置运算符合并上述头两个表达式,则得到的查询为:
(Point Number = 1-100) AND (Point Elevation > 1200)
以上查询将点编号在 1 和 100 之间并且点高程大于 1200 的点添加到点编组中。
NOT 运算符允许您使用指定的标准排除点。例如,如果您在上述第一个表达式前加上 NOT 运算符,则得到的查询为:
NOT (Point Number = 1-100)
上述查询将点编号在 1 和 100 之间的点排除在点编组之外。
可以使用括号合并表达式。计算表达式时,先计算括号内的表达式,再与其他表达式合并计算。
以下查询使用括号合并表达式:
(Raw Description = MON OR Raw Description = IP) AND (Point Elevation > 200)
因为要按照括号计算上面的查询,所以先计算 (Raw Description = MON OR Raw Description = IP),再计算 (Point Elevation > 200),然后使用 AND 设置运算符计算这两个结果。此查询仅将原始描述为 MON 或 IP 且高程大于 200 的点添加到点列表中。
在不使用括号合并表达式时,仅使用以下运算符优先级来计算查询。以下从高到低列出运算符的优先级:
以下查询未使用括号合并表达式:
Raw Description = MON OR Raw Description = IP AND Point Elevation > 200
因为查询是按照上述优先级计算的,所以先计算 Raw Description = IP AND Elevation > 200,然后将结果与 Raw Description = MON 一起计算。此查询将原始描述为 IP 且高程大于 200 的任何点添加到点列表中。它还将原始描述为 MON(而不管其高程大小)的任何点添加到点列表中。