Запросы достаточно гибки и позволяют рассматривать данные так, как удобно пользователю. Запросы можно использовать:
· для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
· для того чтобы объединить в виде одной таблицы данные из нескольких таблиц (многотабличный запрос);
· для просмотра отдельных полей таблицы;
· для выполнения вычислений над значениями полей.
Запрос выглядит как таблица, хотя и не является ею. Записи такой таблицы представляют собой динамический (результирующий) набор данных, которыйявляется виртуальным набором, потому что не хранится в базе данных. После закрытия запроса результирующий набор данных прекращает свое существование. При сохранении запроса сохраняется только его структура - перечень таблиц, список полей, порядок сортировки, ограничения на записи, тип запроса. Каждый раз, когда выполняется запрос, происходит обращение к базовым таблицам и снова создается результирующий набор данных.
Поскольку сам по себе результирующий набор данных не сохраняется, запрос автоматически отображает любые изменения, происшедшие в базовых таблицах с момента последнего запуска этого запроса. Принцип сохранения структуры запроса, а не результирующего набора данных, имеет ряд преимуществ:
|
|
– на физическом носителе информации (обычно это жесткий диск) требуется меньший объем пространства;
– запрос может использовать обновленные версии любых записей базовой таблицы, измененных со времени последнего запуска запроса.
С помощью запросов можно выполнять различные виды обработки данных.
· Выбирать записи, удовлетворяющие условиям отбора.
· Выбирать поля, которые необходимо иметь в результирующем наборе данных.
· Проводить вычисления в каждой из полученных записей.
· Группировать записи с одинаковыми значениями в одном или нескольких полях для выполнения над ними групповых операций.
· Проводить обновление полей в выбранном подмножестве записей.
· Создавать новые таблицы БД, используя данные из существующих таблиц.
· Удалять выбранное подмножество записей из таблицы.
· Добавлять выбранное подмножество записей в другую таблицу.
· Создавать формы и отчеты на основе запросов.
· Создавать диаграммы на основе запроса, которые можно использовать в отчетах.
Что общего и в чем различие между фильтрами и запросами на выборку? Сходство между фильтрами и запросами на выборку заключается в том, что и в тех и в других инструментах производится извлечение подмножества записей из базовой таблицы или из другого запроса. И запросы на выборку, и фильтры содержат условия отбора данных и возвращают выборку, соответствующую указанным условиям, без изменения возвращаемых данных. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком - фильтр. Основные отличия фильтров от запросов заключаются в следующем.
|
|
– Фильтры работают с открытой таблицей и применяются обычно в режиме Таблицы или в режиме Формы. Запросы могут использоваться только с закрытой таблицей или другим запросом.
– Фильтры не позволяют в одной строке отображать данные из нескольких таблиц, то есть объединять таблицы.
– Фильтры не дают возможности указывать отдельные поля, которые должны отображаться в результирующем наборе записей. Они всегда отображают все поля базовой таблицы.
– Фильтры не могут быть сохранены как отдельные объекты БД. Запросы являются объектами БД и поэтому могут сохраняться.
– Фильтры не позволяют производить вычисления: подсчитывать суммы, средние значения, количество записей и находить итоговые значения.