<<
>>

2.6. Запросы на выборку данных

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

2.6.1. Выбор данных из таблиц

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

Воспользуемся режимом конструктор. Нажмем кнопку Конструктор и на экране появится окно Добавление таблицы, в котором нужно выбрать таблицу (таблицы), из которой требуется выбрать данные по запросу.

Например, выполним запрос «Найти наименования товаров, их цен и наименования производителей товаров», используя для этого таблицы ТОВАР и ПРОИЗВОДИТЕЛЬ.

Для выбора таблиц необходимо: 1.

Выделить кнопкой мыши имена указанных таблиц (если в запросе используются несколько таблиц, то их выделение следует производить с удерживанием клавиши Ctrl или Shift). 2.

Нажать кнопку Добавить. 3.

Нажать кнопку Закрыть.

После выполнения указанных действий появляется диалоговое окно Запрос на выборку (рис. 2.13).

Окно конструктора запроса разделено на две части: в верхней части окна расположены таблицы (списки полей), иа основе которых строится запрос и связи между ними; в нижней части - бланк запроса. Бланк запроса состоит из следующих строк:

• Поле (определяет поле, включенное в запрос);

І

поле) ТабЛ,ЩЬ1 (указывает имя таблицы, которой принадлежит •

Сортировка (определяет, нужно ли выполнять сортировку по выбранному полю); •

Вывод на экран (определяет, выводить данные этого поля на экран или нет);

® Условие oifiopa и или (служит для ввода условия отбора записей).

Каждый столбец бланка запроса представляет одно поле.

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

Переход в нужный столбец выполняется щелканьем кнопкой мыши по любому столбцу или нажатием клавиши Tab (при переходе к следующему столбцу). При переходе в новый столбец появляется кнопка раскрытия списка, щелкнув по которой, мы получим список имей полей из таблиц, включенных в запрос. Например, для нашего запроса необходимо указать в первом столбце поле NT и имя таблицы ТОВАР, во втором столбце - поле Cena и имя таблицы ТОВАР, в третьем столбце поле NPR и имя таблицы ПРОИЗВОДИТЕЛЬ. На рис. 2.13 представлено окно конструктора запроса для нашего запроса.

Также включить поле в набор записей запроса можно перетаскиванием имени поля в строку Поле бланка запроса. Включить все поля таблицы в бланк запроса можно не путем внесения каждого поля по отдельности, а перетаскиванием значка * (означающего все поля), который находится в начале таблицы в верхней части окна. При этом, если по какому-либо полю необходимо задать условие отбора, его нужно повторно включить в бланк запроса, ио для того, чтобы не было повторного вывода значений данного поля иа экран, необходимо снять флажок Вывод на экран, который установлен по умолчанию для каждого поля.

Поля, включенные в запрос, наследуют свойства, заданные им при описании таблиц. Однако можно задавать другие значения для свойств (Описание, Формат поля, Число десятичных знаков, Маска ввода и Подпись). Это можно сделать, щелкнув по любой ячейке соответствующего столбца в бланке запроса, и нажать кнопку Свойства на панели инструментов или выбрать команду Свойства меню Вид.

Если Вы не включили в запрос какую-либо таблицу, ее можно добавить, выполнив команду Добавить таблицу меню Запрос или нажав кнопку Добавить таблицу на панели инструментов.

Для просмотра результатов запроса можно переключиться в режим таблицы, нажав кнопку Представление запроса и выбрав Режим таблицы. Если результаты запроса Вас устраивают, то запрос необходимо сохранить путем нажатая кнопки Сохранить на панели инструментов (или выполните команду Сохранить меню Файл) и в диалоговом окне задать имя запроса.

При этом имя запроса будет помещено в окно Запросы. Для закрытия окна конструктора запроса нажмите кнопку окна Закрыть.

Для просмотра результатов запроса из окна БД нужно нажать кнопку Открыть окна Запросы.

Условия отбора

Ввод условий отбора позволяет отобрать определенные записи из таблицы. Он аналогичен построению условий на значение при описании полей таблицы. При использовании текстовых значений в условиях отбора их необходимо заключить в кавычки, значения типа Дата/время - в символ числа #. Несколько сравнений (по одному полю) связываются логическими операторами OR (ИЛИ) и AND (И). Также при построении условий отбора используются операторы BETWEEN, IN, LIKE. При задании длинных выражений удобнее использовать окно Область ввода, которое открывается при нажатии клавиш Shift-F2.

Если задаются условия отбора по нескольким полям и их необходимо связать логическим оператором AND, то эти условия задаются в одной строке, если необходимо условия отбора связать логическим оператором OR, то оии задаются в разных строках (строках или).

Вычисляемые ПОЛЯ

При построении запросов можно создавать вычисляемые поля, которые можно делать новым полем в наборе записей. Также поля запроса могут содержать данные, значения которых будут результатом выражений над полями таблицы. Для этого нужно в пустую ячейку строки Поле бланка запроса ввести выражение. В выражениях можно использовать следующие операторы: + (складывает арифметические выражения); - (вычитает из первого арифметического выражения второе); * (перемножает арифметические выражения); / (делит первое арифметическое выражение на второе); \ (округляет два арифметических выражения до целых значений и делит первое на второе (результат округляется до целого)); л (возводит первое арифметическое выражение в степень, задаваемую вторым арифметическим выражением); MOD (возвращает остаток от округленный до целого первого округленного до целого выражения на второе, округленное до целого); & (создает текстовую строку присоединением второго текстового выражения к концу первого).

Имена полей в выражениях необходимо заключать в квадратные скобки ([ ]).

Например, если мы хотим создать запрос на основе таблицы ТОВАР, в котором в первом столбце будет выводится наименование товара, во втором столбце - цена товара, запятая, пробел, наименование производителя, запятая, пробел, город производителя.

Откройте окно Область ввода для построения выражения. Выражение для вычисляемого поля будет иметь вид:

[Сепа]& «, »&[NPR]& «, »&[CityPR]

Окно запроса в режиме конструктора приведено иа рис. 2.14.

После закрытия окна Область ввода построенное выражение будет в строке Поле и перед ним будет помещено имя типа Выражение!, которое будет именем столбца в запросе. Это имя можно поме- нять на более содержательное, нажав кнопку Свойства на панели инструментов и задав подпись для поля. На рис. 2.15 приведен запрос в режиме таблицы с вычисляемым текстовым полем. МИДИИ»

щ

ill

3 UfiirtCTbB

і Сю

-±=Jl

' шЩІїШЩіІі

янгапаш

я [Сепе] 8.\ ? & [NPR] & \ 1 8. [CityP1.]

1 Я

ЙІ

у'Чі"

Рис. 2.14. Ввод выражения в область ввода

кр Запросі : запросна выборку jWitjil

I Форд-Эскорт І Форд-Транзит

I Газ _ _ ЗВаз

17000, ФОРД^ЮНИОН, Минск 1 ЗОЙ. ФОРД-ЮНИОН, Минск" 31000, ГАЗ, Н. Новгород 13000, ВАЗ, Тольятти Рис. 2.15. Запрос в режиме таблицы

Построение выражений с помощью построителя

Для построения более сложных выражений используется Построитель выражений. Например, необходимо создать запрос, в котором нужно выбрать наименование товара, наименование производителя и наименование потребителя, а также стоимость каждой поставки. Этот запрос будет строиться иа основе таблиц ПОСТАВКА, ТОВАР, ПРОИЗВОДИТЕЛЬ, ПОТРЕБИТЕЛЬ. В бланке запроса необходимо указать поля, значения которых будут выводится в запросе, щелкнуть

по пустой строке и нажать кнопку Построить на панели инструментов. Откроется диалоговое окно Построитель выражений.

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

После построения выражения нажмите кнопку ОК и введенное выражение будет перенесено в бланк запроса.

<< | >>
Источник: А.Н. Романов и А.И. Змитрович. Информационные технологии в экономике: Учебное пособие для вузов. В 2 кн. Кн. 1. / Под ред.. - Мн.: ЗАО "Веды". 240 е.: ил.. 1998

Еще по теме 2.6. Запросы на выборку данных:

  1. КОНТЕНТ-АНАЛИЗ И ЖУРНАЛИСТСКИЕ РАССЛЕДОВАНИЯ А.В. Пичугин Волгоградский государственный университет
  2. Классификация ЭИС
  3. Предметная область
  4. 2.1 РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
  5. 2.2.4 Доступ к реляционной базе данных
  6. 4.1 СЕМАНТИЧЕСКИЕ МОДЕЛИ ДАННЫХ
  7. 5.1 ПАРАМЕТРИЗАЦИЯ ЭКОНОМИЧЕСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ
  8. Введение
  9. 2.6. Запросы на выборку данных
  10. 2.6.2. Итоговые запросы