Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
000 Реализация реляционных баз данных.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
316.93 Кб
Скачать

2.1.1 Запросы на выборку

Наиболее часто используемым запросом является запрос на выборку. Запрос на выборку возвращает данные из одной или нескольких таблиц, а также результаты, которые при желании пользователь может изменить (с некоторыми ограничениями). Также можно использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и других действий.

Результаты запроса отображаются в виде таблицы.

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

Задание 1. Создать запрос на выборку в режиме конструктора

  1. В окне базы данных выберите закладку Запросы;

  2. Щелкните по кнопке Создать;

  3. в диалоговом окне выберите конструктор и щелкните по кнопке ОК;

  4. Добавьте нужные таблицы, выбирая их и щелкая по кнопке Добавить.

  5. Закончите выбор таблиц, щелкнув по кнопке Закрыть;

  6. В появившийся бланк перетащите мышкой нужные поля из таблиц или сделайте двойной щелчок на имени поля;

  7. Перейдите в режим конструктора;

  8. В строке Условия отбора бланка введите условие с помощью которого будут выведены нужные данные.

Условия отбора — это ограничения, накладываемые на значения данных для определения записей, с которыми будет работать запрос. Например, вместо просмотра всех поставщиков компании, можно просмотреть только поставщиков из Литвы. Для этого необходимо указать условие отбора, отсеивающее все записи, кроме тех, у которых в поле «Страна» указано «Литва». Задавая условия отбора, нужно выполнить следующие требования.

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

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

  • Текстовые значения при вводе заключаются в кавычки.

  • Значениям типа «дата-время» предшествует символ #.

  1. Для проверки результатов запроса щелкните по кнопке ! на панели инструментов;

  2. Сохраните запрос

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

  • OR (логическое «или»)-выполняется хотя бы одно из перечисленных условий;

  • NOT (логическое «не») – условие не выполняется;

  • AND (логическое «и») – выполняются оба условия;

Например, нужно вывести сведения о сотрудниках, оклад которых 1000 или 2500 рублей, а разряд 1 или 2. Для этого в строке Условия отбора под полем Оклад нужно поставить 1000 OR 2500, под полем разряд 1 OR 2.

2.1.2. Вычисления в запросах

В запросах можно выполнять вычисления следующих типов.

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

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

  1. Выбрать поля Фамилия, Оклад из соответствующих таблиц;

  2. Щелкнуть по кнопке Построитель выражений;

  3. В окне построителя выражений ввести вручную выражение: Среднее ([Оклад]+[Надбавка])/10, щелкнуть по кнопке ОК;

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