Написание запроса в конструкторе запросов

Запросы применяются для выборки поднабора пространственных объектов и записей в таблице. Все выражения запроса в ArcGIS Pro используют синтаксис Structured Query Language (SQL) чтобы сформулировать характеристики поиска.

Вы используете конструктор запросов для построения запросов. Конструктор запросов используется во многих местах, включая:

Построение запросов

Вы можете создавать собственные запросы, используя синтаксис SQL, или интерактивно создавать запросы, выбирая компоненты. С помощью синтаксиса SQL вы получите доступ ко всем возможностям SQL. Чтобы написать запрос SQL, щелкните кнопку переключателя SQL для переключения в режим SQL.

Интерактивное создание запроса

В режиме по умолчанию конструктора запросов можно создать запрос, выбирая необходимые варианты из ниспадающих меню с заполненными и отфильтрованными вариантами на основе выбранного типа поля. Преимущества работы с использованием этого режима перечислены ниже:

  • Вы можете построить корректные выражения SQL независимо от источника данных.
  • Вы можете строить стандартные выражения SQL, даже если вы не владеете синтаксисом SQL.
  • Операторы условий отображаются с применением предварительных настроек в зависимости от выбранного типа поля.
  • Проще применить группировку, чтобы упорядочить операции.

Этот режим хорошо подходит для построения запросов к строковым, числовым полям и полям даты, но есть ограничения по типам запросов, которые вы можете создавать. Чтобы написать запрос без ограничения используйте режим SQL. Вы можете начать построение условия в интерактивном режиме, а затем щелкнуть переключатель SQL для просмотра условия в родном синтаксисе SQL. Это – отправная точка, откуда вы сможете уточнить необходимое вам условие. Необходимо учитывать, что если вы добавите синтаксис SQL, который не поддерживается в интерактивном режиме, то вы не сможете вернуться к этому режиму.

См. раздел Создание и изменение запросов для получения дополнительных сведений о работе в интерактивном режиме.

Создание запроса с помощью синтаксиса SQL

Ели вам ранее приходилось работать с синтаксисом SQL, возможно, вы отдадите предпочтение режиму SQL. Чтобы переключиться в режим SQL, щелкните кнопку переключателя SQL. Преимущества работы с использованием режима SQL перечислены ниже:

  • Можно писать запросы без ограничений.
  • Можно использовать autocomplete. При вводе текста запроса появляется строка, в которой отображаются только те ключевые слова и операторы, которые поддерживаются вашим источником данных.
  • Цветовая кодировка элементов, помогающая вам визуально проверять или изменять выражение запроса.

Синтаксис SQL

В режиме SQL при формирования запроса необходимо использовать правильный синтаксис SQL, чтобы источник данных знал, какие возвращать записи. Нет необходимости разделять поля специальными символами. Дополнительные сведения о написании запросов SQL см. в Руководстве по использованию SQL.

Запросы бывают простые или составные:

  • Простые запросы содержат одно условие, например, STATE_NAME = 'Alabama'. Этот запрос выберет все объекты, содержащие текст Alabama в поле STATE_NAME.

  • Составные запросы состоят из нескольких запросов, связанных между собой логическим оператором AND или OR. Также можно использовать круглые скобки для определения порядка операций в составном запросе.

    Например, STATE_NAME = 'Alabama' OR (STATE_NAME = 'Wyoming' AND POP2000 > 10000) выберет все объекты, содержащие Alabama в поле STATE_NAME и все объекты, содержащие как Wyoming в поле STATE_NAME, так и которые имеют значение выше, чем 10,000, в поле с именем POP2000.

Если вы часто работаете с базами данных и уже использовали SQL, то вам должны быть знакомы два ключевых аспекта: выражение SELECT и условие WHERE:

  • Выражение SELECT используется для выбора полей в слое или таблице.
  • Условие WHERE используется для получения записей, отвечающим заданным критериям.

Вы должны указать условие WHERE и принять решение относительно того, какие критерии имеют важное значение для вашего запроса. При работе с конструктором запросов, условие WHERE задается только в случае применения подзапросов. Подзапросы – это запросы, вложенные в другой запрос.

Используемый синтаксис SQL различается в зависимости от источника данных. Каждая система управления базами данных (СУБД) использует собственный SQL-диалект. Для запроса данных на основе файлов, включая файловые базы геоданных, шейп-файлы, таблицы dBASE, данные САПР и VPF, используется ArcGIS SQL-диалект, поддерживающий поднабор функциональных возможностей SQL. Для доступа или выполнения запроса в многопользовательской базе геоданных вы должны использовать синтаксис SQL или соответствующей системы управления базами данных (СУБД).

Связанные разделы


В этом разделе
  1. Построение запросов