Создание запросов на выборку
Иногда необходимо выбирать данные сразу из нескольких таблиц и проводить вычисления над данными. Отобрать нужные данные можно с помощью запросов. При этом создаётся набор записей, с которым можно работать, как с обычной таблицей (вставлять, удалять и обновлять данные). В отличие от реальной таблицы этот набор записей физически не существует в БД, а создаётся только на время выполнения запроса. Если внести изменения в данные в наборе записей, то соответствующие изменения внесутся и в таблицы, на базе которых построен запрос.
Для создания запроса нужно перейти на вкладку и нажать кнопку Создать, после чего появится окно диалога Новый запрос. В нём будут предложены различные способы построения запросов: в режиме конструктор или с помощью мастера.
Воспользуемся режимом конструктор. Нажмём кнопку Конструктор и на экране появится окно Добавление таблицы, в котором нужно выбрать таблицу (таблицы), из которых требуется выбрать данные по запросу.
1. 1. Создать запрос «Найти названия продуктов, их цен и наименования заказчиков». |
Для создания запроса необходимо использовать таблицы Продукты и Клиенты.
Для выбора таблиц необходимо:
1. Выделить кнопкой мыши имена указанных таблиц (если в запросе используется несколько таблиц, то их выделение следует производить с удерживанием клавиши Ctrl или Shift).
2. Нажать кнопку Добавить.
3. Нажать кнопку Закрыть.
После выполнения указанных действий появляется диалоговое окно Запрос на выборку.
Окно конструктора запроса разделено на две части: в верхней части окна расположены таблицы (списки полей), на основе которых строится запрос и связи между ними; в нижней части – бланк запроса. Бланк запроса состоит из следующих строк:
· Поле (определяет поле, включённое в запрос);
· Имя таблицы (указывает имя таблицы, которой принадлежит поле);
· Сортировка (определяет, нужно ли выполнять сортировку по выбранному полю);
· Вывод на экран (определяет, вводить данные этого поля на экран или нет);
· Условие отбора и или (служит для ввода условия отбора записей).
Каждый столбец бланка запроса представляет одно поле.
В каждом столбце бланка запроса необходимо указать поля и имена таблиц, используемых в запросе. Переход в нужный столбец выполняется щёлканьем кнопкой мыши по любому столбцу или нажатием клавиши Tab. При переходе в новый столбец появляется кнопка раскрытия списка, щёлкнув по которой, получим список имён полей из таблиц, включённых в запрос. Например, для нашего запроса необходимо указать в первом столбце поле Название продукта и имя таблицы Продукты, во втором столбце – поле Цена и имя таблицы Продукты, в третьем столбце поле Наименование клиента и имя таблицы Клиенты.
Включить поле в набор записей запроса можно также перетаскиванием имени поля из таблицы в верхней части окна запроса в строку Поле бланка запроса.
Если не включили в запрос какую-либо таблицу, её можно добавить, выполнив команду Добавить таблицу меню Запрос или нажав кнопку Добавить таблицу на панели инструментов.
Для просмотра результатов запроса из окна БД нужно нажать кнопку Открыть окна Запросы.
Условия отбора
Ввод условий отбора позволяет отобрать определённые записи из таблицы. При использовании текстовых значений в условиях отбора их необходимо заключить в кавычки, значения типа Дата/время – в символ числа #. Несколько сравнений (по одному полю) связываются логическими операторами OR (ИЛИ) и AND (И). При задании длинных выражений удобнее использовать окно Область ввода, которое открывается при нажатии клавиш Shift+F2.
2. Включить в запрос только клиентов с кодами 40 и 60. 3. Выдать список заказов, отправленных клиенту с кодом 40 14 августа 20__ г. 4. Выбрать заказы с датой поставки от 15 августа по 15 сентября 20__ г. Отсортировать названия продуктов по алфавиту. 2. Какать список клиентов, которые заказали конфеты. 3. Каким клиентам отправлялась фруктовая пастила 4 сентября 20__ г. |
Вычисляемые поля
При построении запросов можно создавать вычисляемые поля, которые можно делать новым полем в наборе записей. Также поля запроса могут содержать данные, значения которых будут результатом выражений над полями таблицы. Для этого нужно в пустую ячейку строки Поле бланка запроса ввести выражение. В выражении модно использовать следующие операторы: +, -, *, /, \, ^, MOD, & (сцепление текстовой выражений).
Имена полей в выражениях необходимо заключать в квадратные скобки.