构建查询表达式 ArcGIS 10.2 定位主题 在 ArcGIS 中,查询表达式用于选择要素和表记录的子集。ArcGIS 中的查询表达式符合标准的 SQL 表达式。例如,您可以在使用按属性选择工具或查询构建器 对话框时使用此语法来设置图层定义查询。 本主题将介绍如何构建基本的 WHERE 子句表达式。如果您刚刚开始使用 SQL,本主题会对您有所帮助。要获取更加详细的参考,请参阅在 ArcGIS 中使用的查询表达式的 SQL 参考。 简单的 SQL 表达式 SELECT * FROM 构成了 SQL 表达式的第一部分,系统会自动为您提供该语句。 查询表达式使用跟随在 Select * From <图层或数据集> Where 子句之后这样的一般格式(例如,跟随在 SELECT * FROM <图层名称> WHERE 之后的 SQL 表达式部分)。 以下是 ArcGIS 查询表达式的一般格式: <字段名> <运算符> <值或字符串> 对于组合查询,使用以下格式: <字段名> <运算符> <值或字符串> <连接符> <字段名> <运算符> <值或字符串> ... 也可以使用括号 () 来定义组合查询中的运算顺序。 由于您是将列作为一个整体进行选择的,因此不能将 SELECT 限制为仅返回相应表中的部分列,原因是 SELECT * 语法是通过硬编码实现的。因此,除非在使用子查询时,否则无法在 ArcGIS 的 SQL 查询中使用 DISTINCT、ORDER BY 和 GROUP BY 等关键字。有关子查询的信息,请参阅在 ArcGIS 中使用的查询表达式的 SQL 参考。 在从中构建查询表达式的多数 ArcGIS 对话框中,都会为您提供图层或表的名称(或者从下拉列表中选择)。例如: 表达式的下一个部分是 WHERE 子句,这是您必须构建的部分。基本的 SQL WHERE 子句如下所示 STATE_NAME = 'Alabama' 这样会在名为 STATE_NAME 的字段中选择包含“Alabama”的要素。 SQL 语法 所使用的 SQL 语法因数据源的不同而有所差异。每个 DBMS 都拥有各自的 SQL 方言。 要查询基于文件的数据(包括文件地理数据库、coverage、shapefile、INFO 表、dBASE 表、CAD 和 VPF 数据),请使用支持 SQL 功能的子集的 ArcGIS SQL 方言。要查询个人地理数据库,请使用 Microsoft Access 语法。要查询 ArcSDE 地理数据库,请使用基础 DBMS(即:Oracle、SQL Server、DB2、Informix 或 PostgreSQL)的 SQL 语法。 从中创建 SQL WHERE 子句的 ArcGIS 对话框会帮助您对所查询的数据库使用正确的...