在查询构建器中编写查询

查询用于选择要素子集和表记录的子集。ArcGIS Pro 中的所有查询表达式都使用标准结构化查询语言 (SQL) 对搜索规范进行格式化。

您可以使用查询构建器来构建查询。可在多个位置找到查询构建器,其中包括:

构建查询

您可以通过输入 SQL 语法在本地创建查询,也可以通过选择组件以交互方式构建查询。您可通过编写 SQL 语法访问所有 SQL 功能。要使用 SQL 语法编写查询,请单击 SQL 切换按钮切换至 SQL 模式。

以交互方式构建查询

在查询构建器的默认模式下,您可以构建查询,方法是:从根据所选字段类型填充和预过滤的下拉菜单中进行选择。此模式下的工作优势如下所述:

  • 可在不考虑数据源的情况下构建有效的 SQL 查询。
  • 不需要预先了解 SQL 知识即可构建常见查询。
  • 条件运算符可根据所选字段类型进行过滤。
  • 可轻松应用分组来改进运算顺序。

此模式非常适合针对字符串、数字和日期字段的构建查询,但仅限于可创建的查询类型。要在不受限制的情况下编写查询,请使用 SQL 模式。您可以在交互模式下开始构建子句,然后单击 SQL 切换按钮以使用原生 SQL 语法查看子句。您可以此为起点在此处根据需要优化子句。请注意,如果您添加了交互模式不支持的 SQL 语法,则稍后可能无法切换回该模式。

有关在交互模式下工作的详细信息,请参阅构造和修改查询

通过编写 SQL 语法构建查询

如果您有编写 SQL 语法的经验,则可能更倾向于在 SQL 模式下构建和管理查询。单击 SQL 切换按钮切换至 SQL 模式。SQL 模式下的工作优势如下所述:

  • 可以无限制地编写查询。
  • 可以利用自动完成功能。在您输入时会显示一条提示信息,仅显示您的数据源支持的关键字和运算符。
  • 彩色编码的元素有助于直观地验证或修改查询。

SQL 语法

在 SQL 模式下,您必须在构建查询时使用合适的 SQL 语法,以确保数据源了解要返回的记录。您无需使用特殊字符分隔字段。有关写入 SQL 查询的详细信息,请参阅 SQL 参考指南

查询为简单查询或复合查询:

  • 简单查询包含单个子句,例如 STATE_NAME = 'Alabama'。此查询用于选择 STATE_NAME 字段中包含 Alabama 文本的所有要素。

  • 复合查询由使用逻辑运算符 ANDOR 连接的多个子句组成。您也可以在复合查询中的子句前后使用括号来定义运算顺序。

    例如,STATE_NAME = 'Alabama' OR (STATE_NAME = 'Wyoming' AND POP2000 > 10000) 用于选择 STATE_NAME 字段中包含 Alabama 的所有要素,以及 STATE_NAME 字段中包含 Wyoming 且值大于名为 POP2000 字段中的 10,000 的所有要素。

如果经常使用数据库,您可能已经具备了 SQL 的使用经验并且熟悉两个重要方面,即 SELECT 语句和 WHERE 子句:

  • SELECT 语句用于选择图层或表中的字段。
  • WHERE 子句用于获取满足特定条件的记录。

您必须提供 WHERE 子句,并确定哪些条件对于查询较为重要。使用查询构建器时,只需在包括子查询内容时提供 WHERE 子句即可。子查询是指嵌套在另一个查询中的查询。

所使用的 SQL 语法因数据源的不同而有所差异。每个数据库管理系统 (DBMS) 都有自己的 SQL 方言。要查询基于文件的数据(包括文件地理数据库、shapefile、dBASE 表、CAD 和 VFP 数据),请使用支持 SQL 功能的子集的 ArcGIS SQL 方言。要访问或查询企业级地理数据库,必须使用基础数据库管理系统 (DBMS) 的 SQL 语法。

相关主题


在本主题中
  1. 构建查询