logo search
отчёт 2 курс

2.5.Конструирование sql запросов

Запросы создаются пользователем для выборки необходимых ему данных из одной или нескольких связанных таблиц и представления выбранных данных также в виде таблицы. Запрос может формироваться двумя способами:

Практически все типы запросов в Access можно создать визуально. Исключение составляют сквозные запросы (SQL-pass-through), т.е. запросы из других приложений, запросы на изменение структуры данных и запросы объединения. Визуально можно построить запросы добавления, удаления, обновления и создания таблиц. Отметим также, что одной из наиболее сильных сторон Access являются фильтры, которые строятся с помощью запросов или посредством установки критериев. Для облегчения этой задачи используют параметрические запросы. В Access имеется несколько видов запросов:

Основные принципы конструирования запроса заложены в технике конструирования запроса на выборку, являющегося основой всех видов запросов. Запрос на выборку позволяет достаточно просто выбрать данные из одной или нескольких взаимосвязанных таблиц. Результаты запроса отображаются в виде таблицы. При конструировании запроса достаточно выделить и перетащить необходимые поля из таблиц, представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей. Результаты выполнения запроса выводятся в режиме таблицы. Несмотря на то, что поля результирующей таблицы принадлежат, как правило, нескольким таблицам базы данных, с ними можно работать так, как если бы они принадлежали одной таблице. Можно также менять данные в таблице результатов запроса на выборку, при этом сделанные изменения будут внесены в базовые таблицы. Для создания запроса в окне базы данных надо выбрать закладку Запрос и нажать кнопку [Создать]. В открывшемся окне Новый запрос из предложенных типов запросов (Конструктор, Простой запрос, Перекрестный запрос, Повторяющиеся записи, Записи без подчиненных) следует выбрать Конструктор. В окне Добавление таблицы выбрать используемые в запросе таблицы и нажать кнопку [Добавить]. Затем, нажав кнопку [Закрыть], выйти из окна Добавление таблицы. В результате появится окно конструктора запросов Имя запроса: запрос на выборку. Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, включающую в себя выбранные для данного запроса таблицы, которые представлены списками полей. Нижняя панель является бланком запроса по образцу (QBE), который нужно заполнить. Схема данных запроса. В окне запроса отображаются выбранные таблицы и связи между ними, имеющиеся в логической схеме (схеме данных) БД. Кроме того, Access автоматически устанавливает между таблицами дополнительные связи, которых не было в логической модели, в том случае, если таблицы имеют поля с одинаковыми именами и типами данных (атрибутами). Логические связи между таблицами, которые Access не может установить автоматически, может создать пользователь, перетащив задействованные в связи поля из одного списка полей в другой. При использовании в запросе других запросов или таблиц, не представленных в логической схеме базы данных, с ними также могут быть установлены связи-объединения, т.е. связи без ключевого слова. Бланк запроса по образцу. Бланк запроса по образцу представлен в нижней панели окна запроса в виде таблицы, которая имеет для заполнения следующие строки: Поле:, Имя таблицы:, Сортировка:, Вывод на экран:, Условие отбора:, или:. До формирования запроса эта таблица не заполнена. Каждый столбец бланка является одним полем запроса. Эти поля могут использоваться для включения их в таблицу результата вы¬полнения запроса, задания сортировки по ним, а также задания условий отбора записей. При заполнении бланка запроса необходимо:

Для включения нужных полей из таблиц БД в соответствующие столбцы запроса можно воспользоваться следующими приемами:

В списке полей каждой таблицы на первом месте стоит символ звездочка (*), имеющий значение «Все поля таблицы», который выбирается, если в запрос включаются все поля. Модификация запроса. Для добавления поля в бланк запроса надо перетащить его с помощью мыши из таблицы в схеме данных в нужное место бланка. При этом все столбцы полей справа от него передвинутся на один столбец вправо. Для удаления поля в бланке запроса надо выделить удаляемый столбец, щелкнув кнопкой мыши, а области маркировки столбца, и нажать клавишу [Del] или выполнить пункт меню Правка\Удалить столбец.