Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика=) / BASE / Posobie_Base.doc
Скачиваний:
66
Добавлен:
11.05.2015
Размер:
1.09 Mб
Скачать

5. Работа с запросами

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

Результатом выполнения запроса является набор записей, собранных в таблице, называемых ответной (динамической, временной) таблицей. С ней можно работать как с обычной таблицей: можно просматривать и отбирать информацию, производить вычисления, печатать и т.п. Однако, в отличие от реальной, ответная таблица в БД физически не существует – OooBaseсоздает ее из исходных таблиц только во время выполнения запроса.

Запрос, в отличие от фильтра, можно сохранить, задав ему имя для дальнейшего использования. Если вам неоднократно приходится обращаться к отобранным данным, рекомендуется составлять запрос.

5.1. Создание запросов по образцу

Для создания запросов в современных СУБД предназначены два языка:

• QBE (Query By Example) - запрос по образцу;

• SQL(StructuredQueryLanguage) структурированный язык запросов.

Наиболее просто и наглядно запросы создаются с помощью языкаQBE. Запросы на этом языке организуются путем интерактивного заполнения специальных запросных форм. Создание запросов с помощью языкаSQLтребует программирования запроса с помощью операторов и функций данного языка. В данной работе рассматриваются толькоQBE– запросы.

Для создания QBE – запроса необходимо в Главном окне БД выбрать вкладку Запросы и соответствующую ей задачу Создать запрос в режиме дизайна. После этого появятся два окна: окно построителя запросов и окно добавления таблиц , рис. 23.

Рис. 23. Окна построителя запросов и добавления таблиц

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

Нижняя часть построителя запросов состоит из ряда строк, назначение которых следующее:

Поле- здесь располагается название отобранного для запроса поля;

Псевдоним- альтернативное название поля для ответной таблицы;

Таблица- название таблицы, из которой берется поле;

Сортировка- для указания того, нужна ли сортировка по полю, и если нужна, то какая; при выполнении щелчка на этой строке появляется поле списка с перечнем способов сортировки;

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

Функция- для выбора групповой операции;

Критерий- для задания условия отбора;

Или- строки для создания сложного условия отбора.

Строки КритерийиИЛИпредназначены для ввода условий (критериев) отбора в запрос. Условия отбора указываются для одного или нескольких полей и представляют собой логическое выражение. В логических выражениях используются логические операторыAND(“И”),OR(“ИЛИ”) иNOT(“НЕ”), операторы отношений (<, <=, >, >=, =, < >), командыOOo.

Логические операторы AND и OR в QBE – запросах, в отличие от языка SQL, в условиях отбора явно не указываются. Принято следующее соглашение: условия, находящиеся в одной строке, связываются логическим оператором AND (условия выполняются одновременно), а условия в разных строках означают выполнение логического оператора OR (выполняется хотя бы одно из условий).

Операторы отношений сравнивают содержимое поля с указанным условием.

Команды OOo, используемые в условиях отбора:

LIKE x – поле данных содержит указанное выражение x; выражение x может быть текстовым и содержать символы подстановки ‘?’ и ‘*’;

• NOTLIKEx– поле данных не содержит указанное выражениеx; выражениеxможет быть текстовым и содержать символы подстановки ‘?’ и ‘*’;

• BETWEENxANDy– поле данных содержит значение, находящееся в интервале [x,y];

• NOTBETWEENxANDy– поле данных не содержит значения в интервале [x,y];

• ISEMPTY– поле данных пустое (NULL);

• ISNOTEMPTY– поле данных не пустое;

• IN(a;b;c…) – поле данных содержит одно из указанных значенийa,b,c,…,которые могут быть числами или символами; результат запроса определяется операторомOR;

• NOTIN(a;b;c…) – поле данных не содержит указанных значенийa,b,c,…;

• = TRUE– поле данных имеет значениеTRUE(ИСТИНА);

• = FALSE– поле данных имеет значениеFALSE(ЛОЖЬ).

Соседние файлы в папке BASE