Примечание: Этот раздел относится только в проектам Microsoft Access (AFP-файлам).
Designer запросов состоит из трех областей: области "Схема", "Сетка" и "SQL".
Три области Designer запроса
-
В области Диаграмма отображаются таблицы, представления и встроенные функции, которые вы запрашиваете. Каждый прямоугольник представляет таблицу, представление или встроенную функцию и отображает доступные столбцы данных, а также значки, указывающие, как каждый столбец используется в запросе. Соединения обозначаются линиями между прямоугольниками.
-
Панель Сетка содержит сетку, похожую на электронную таблицу, в которой указываются параметры, такие как отображаемые столбцы данных, выбор строк, группирование строк и т. д.
-
На панели SQL отображается инструкция SQL для запроса. Вы можете изменить инструкцию SQL, созданную Designer запроса, или ввести собственную инструкцию SQL. Это особенно полезно для ввода инструкций SQL, которые не могут быть созданы с помощью панелей Диаграмма и Сетка, таких как запросы объединения.
Запрос можно создать, работая в любой из областей: можно указать столбец для отображения, выбрав его на панели Диаграмма, введя его в область Сетка или сделав его частью инструкции SQL на панели SQL. Области Диаграмма, Сетка и SQL синхронизируются. При внесении изменений в одну область другие панели автоматически отражают это изменение.
Область диаграммы
Обзор области "Схема"
На панели Диаграмма отображается графическое отображение таблиц, представлений, определяемых пользователем функций или вложенных запросов в запросе. Здесь также показаны все связи соединения между ними.
В области Диаграмма вы можете:
-
Добавление или удаление таблиц, представлений, определяемых пользователем функций или вложенных запросов, а также указание столбцов данных для выходных данных.
-
Укажите столбцы для упорядочения запроса.
-
Укажите, что нужно группировать строки в результирующем наборе.
-
Создание или изменение соединений между таблицами, представлениями, определяемыми пользователем функциями или вложенными запросами.
Когда вы вносите изменения в область диаграммы, области Сетка и область SQL обновляются в соответствии с вашими изменениями. Например, если выбрать столбец для выходных данных в таблице, представлении, определяемой пользователем функции или окне вложенного запроса на панели Диаграмма, Designer запроса добавит столбец данных в область Сетка и в инструкцию SQL на панели SQL.
Сведения о значках, проверка полях и символах области диаграммы
Каждая таблица, представление, определяемая пользователем функция или вложенный запрос отображается как отдельное окно в области диаграммы. Значок в строке заголовка каждого прямоугольника указывает, какой тип объекта представляет прямоугольник, как показано в следующей таблице.
Значок |
Тип объекта |
|
Таблица |
|
Просмотр |
|
Встроенная функция |
|
Вложенный запрос (в предложении FROM) |
В каждом прямоугольнике отображаются столбцы данных для таблицы, представления или определяемой пользователем функции. Флажки и символы отображаются рядом с именами столбцов, чтобы указать, как столбцы используются в запросе. Подсказки отображают такие сведения, как тип данных и размер столбцов.
В следующей таблице перечислены проверка поля и символы, используемые в прямоугольнике для каждой таблицы, представления или определяемой пользователем функции.
Флажок или символ |
Описание |
|
Указывает, отображается ли столбец данных в результирующем наборе запроса (запрос Select) или используется в запросе Update, Append, Make-Table или Append Values. Выберите столбец, чтобы добавить его в результаты. Если выбран параметр (Все столбцы), в выходных данных отображаются все столбцы данных. Значок, используемый с полем проверка, изменяется в соответствии с типом создаваемого запроса. При создании запроса Delete нельзя выбрать отдельные столбцы. |
|
Указывает, что столбец данных используется для упорядочения результатов запроса (является частью предложения ORDER BY). Значок отображается как A–Z, если порядок сортировки возрастает, или Z–A, если порядок сортировки по убыванию. |
|
Указывает, что столбец данных используется для создания сгруппированного результируемого набора (является частью предложения GROUP BY) в агрегированном запросе. |
|
Указывает, что столбец данных включен в условие поиска для запроса (является частью предложения WHERE или HAVING). |
|
Указывает, что содержимое столбца данных суммируется для вывода (включается в СУММ, AVG или другую агрегатную функцию). |
Примечание: Designer запроса не будет отображать столбцы данных для таблицы, представления или определяемой пользователем функции, если у вас нет к ней достаточных прав доступа или драйвер базы данных не может вернуть сведения о них. В таких случаях Designer запроса отображает только строку заголовка для таблицы, представления или определяемой пользователем функции.
Объединенные таблицы на панели диаграммы
Если запрос включает соединение, между столбцами данных, участвующими в соединении, отображается строка соединения. Если объединенные столбцы данных не отображаются (например, таблица, представление, определяемая пользователем функция или окно вложенного запроса свернуты или соединение включает выражение), Designer запроса помещает строку соединения в строку заголовка прямоугольника, представляющего таблицу, представление, определяемую пользователем функцию или вложенный запрос. В Designer запроса отображается одна строка соединения для каждого условия соединения.
Форма значка в середине строки соединения указывает, как соединяются таблицы или объекты с табличной структурой. Если в предложении join используется оператор, отличный от равного (=), оператор отображается в значке строки соединения. В следующей таблице перечислены значки, которые могут отображаться в строке соединения.
Значок строки соединения |
Описание |
|
Внутреннее соединение (созданное с использованием знака равенства). |
|
Внутреннее соединение на основе оператора "больше чем". (Оператор, отображаемый на значке строки соединения, отражает оператор, используемый в соединении.) |
|
Внешнее соединение, в которое будут включены все строки из таблицы, представленной слева, даже если они не имеют совпадений в связанной таблице. |
|
Внешнее соединение, в которое будут включены все строки из таблицы, представленной справа, даже если они не имеют совпадений в связанной таблице. |
|
Полное внешнее соединение, в которое будут включены все строки из обеих таблиц, даже если они не имеют совпадений в связанной таблице, представлении, определяемой пользователем функции или вложенном запросе. |
Значки на концах строки соединения указывают тип соединения. В следующей таблице перечислены типы соединений и значки, которые могут отображаться на концах строки соединения.
Значок на концах строки соединения |
Описание |
|
Соединение "один к одному" |
|
Соединение "один ко многим" |
|
Designer запроса не удается определить тип соединения |
Область сетки
Обзор панели "Сетка"
Панель Сетка позволяет указать параметры запроса, например, какие столбцы данных отображать, как упорядочить результаты и какие строки выбрать, введя параметры в сетку, подобную электронной таблице. В области Сетка можно указать:
-
Столбцы для отображения и псевдонимы имен столбцов.
-
Таблица, к которой принадлежит столбец.
-
Выражения для вычисляемых столбцов.
-
Порядок сортировки для запроса.
-
Условия поиска.
-
Критерии группирования, включая агрегатные функции, используемые для сводных отчетов.
-
Новые значения для запросов обновления или добавления значений.
-
Имена целевых столбцов для запросов добавления.
Изменения, внесенные на панели "Сетка", автоматически отражаются на панели "Схема" и "SQL". Аналогичным образом область Сетка обновляется автоматически, чтобы отразить изменения, внесенные в других панелях.
Сведения о столбцах области "Сетка"
В строках на панели Сетка отображаются столбцы данных, используемые в запросе; в области Сетка отображаются параметры запроса.
Конкретные сведения, отображаемые на панели Сетка, зависят от типа создаваемого запроса. Если вы создаете запрос Select, область Сетка содержит столбцы, отличные от столбцов, которые создаются при создании запроса на обновление.
В следующей таблице перечислены столбцы сетки, которые могут отображаться на панели Сетка.
Столбец |
Тип запроса |
Описание |
Столбец |
Все |
Отображает имя столбца данных, используемого для запроса, или выражение для вычисляемого столбца. Этот столбец заблокирован, чтобы он всегда был виден при прокрутке по горизонтали. |
Alias (Псевдоним) |
Select, Append, Update, Make-Table |
Указывает альтернативное имя столбца или имя, которое можно использовать для вычисляемого столбца. |
Таблица |
Select, Append, Update, Make-Table |
Указывает имя таблицы, представления, определяемой пользователем функции или вложенного запроса для связанного столбца данных. Этот столбец пуст для вычисляемых столбцов. |
Вывод |
Select, Append, Make-Table |
Указывает, отображается ли столбец данных в выходных данных запроса. Примечание: Если база данных позволяет, можно использовать столбец данных для предложений сортировки или поиска, не отображая его в результирующем наборе. |
Тип сортировки |
Выбрать, добавить |
Указывает, что связанный столбец данных используется для сортировки результатов запроса и сортировки по возрастанию или убыванию. |
Порядок сортировки |
Выбрать, добавить |
Задает приоритет сортировки для столбцов данных, используемых для сортировки результирующих наборов. При изменении порядка сортировки для столбца данных порядок сортировки для всех остальных столбцов обновляется соответствующим образом. |
Группировка. |
Select, Append, Make-Table |
Указывает, что связанный столбец данных используется для создания агрегатного запроса. Этот столбец сетки отображается только в том случае, если вы выбрали Группировать по в меню Сервис или добавили предложение GROUP BY в область SQL . По умолчанию для этого столбца задано значение Group By, а столбец становится частью предложения GROUP BY. При переходе к ячейке в этом столбце и выборе агрегатной функции для применения к связанному столбцу данных результирующее выражение по умолчанию добавляется в качестве выходного столбца для результирующего набора. |
Условие |
Все |
Указывает условие поиска (фильтр) для связанного столбца данных. Введите оператор (по умолчанию — "=") и значение для поиска. Заключайте текстовые значения в одинарные кавычки. Если связанный столбец данных является частью предложения GROUP BY, введенное выражение используется для предложения HAVING. Если ввести значения для нескольких ячеек в столбце сетки Условия , результирующие условия поиска автоматически связываются с логическим И. Чтобы указать несколько выражений условий поиска для одного столбца базы данных (например, (fname > 'A') AND (fname < 'M'), дважды добавьте столбец данных в область Сетка и введите отдельные значения в столбце Сетка условий для каждого экземпляра столбца данных. |
Или... |
Все |
Указывает дополнительное выражение условия поиска для столбца данных, связанное с предыдущими выражениями с помощью логического ИЛИ. Вы можете добавить дополнительные столбцы сетки Or ... , нажав клавишу TAB в крайнем правом столбце Or... . |
Добавление |
Добавление |
Указывает имя целевого столбца данных для связанного столбца данных. При создании запроса на добавление Designer запроса пытается сопоставить источник с соответствующим целевым столбцом данных. Если Designer запроса не удается выбрать совпадение, необходимо указать имя столбца. |
Новое значение |
Обновление, добавление значений |
Задает значение для размещения в связанном столбце. Введите литеральное значение или выражение. |
Область SQL
Обзор области SQL
На панели SQL отображается инструкция SQL для текущего запроса. При создании запроса область SQL автоматически обновляется и переформатирует, чтобы ее было легко читать.
В области SQL можно:
-
Создайте новые запросы, введя инструкции SQL.
-
Измените инструкцию SQL, созданную Designer запроса, на основе параметров, заданных на панелях Диаграмма и Сетка.
-
Введите инструкции, использующие преимущества функций, характерных для Microsoft SQL Server.
Инструкции в области SQL
Текущий запрос можно изменить непосредственно в области SQL. При переходе на другую область Designer запроса автоматически форматирует инструкцию, а затем изменяет области Диаграмма и Сетка в соответствии с инструкцией.
Примечание: Вы можете ввести указания оптимизатора для инструкций SQL, но Designer запроса может переформатировать их.
Если инструкция не может быть представлена в панелях Диаграмма и Сетка и если эти области видны, Designer запроса отображает ошибку, а затем предлагает два варианта:
-
Вернитесь в область SQL и измените инструкцию .
-
Отмените изменения и отменить изменения последней версии инструкции SQL.
Если вернуться на панель SQL и продолжить редактирование инструкции, Designer запроса заглушит другие панели, чтобы указать, что они больше не отражают содержимое панели SQL.
Вы также можете использовать область SQL для ввода инструкций SQL, которые не могут быть представлены графически в Designer запросов. В таких случаях Designer запроса отображает то же поведение, что и при обнаружении ошибки. Он тускнеет области Диаграмма и Сетка, чтобы указать, что они не представляют текущую инструкцию. Вы можете продолжать редактировать инструкцию и выполнять ее так же, как и любую инструкцию SQL.
Примечание: Если ввести инструкцию SQL, а затем внести дополнительные изменения в запрос, изменив области Диаграмма и Сетка, Designer запроса перестроит и переиграет инструкцию SQL. В некоторых случаях это действие приводит к тому, что инструкция SQL создается иначе, чем та, которую вы ввели изначально (хотя она всегда дает одни и те же результаты). Это различие особенно вероятно при работе с условиями поиска, которые включают несколько предложений, связанных с AND и OR.