Построение условий в запросах на выборку в СУБД MS Access

В большинстве современных СУБД имеется свой вариант QBE, незначительно отличающийся от первого описания QBE, предложенного в конце 70-х годов ХХ в. Рассмотрим некоторые возможности QBE СУБД MS Access.

Используем для примера таблицу БД, которая относится к торговле (рис. 3.10). Имя таблицы TYPE (типы товаров). Она имеет столбцы: товар – названия товара; цвет – его цвет; стоимость – стоимость товара.

Выборка данных может осуществляться по следующим вариантам:

1. Простая выборка, например: «Вывести товары зеленого цвета из таблицы TYPE».

2. Простая выборка с упорядочиванием.

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

Запросы позволяют получать результирующие таблицы, поля которых удовлетворяют определённым условиям (критериям). Эти условия задают в бланке запроса в строке Условия отбора. Условиями отбора являются логические выражения, состоящие из операторов и операндов. Используются операторы сравнения =, < , >, <> (не равно), Between, In, Like и и логические операторы And, Or, Not. Допускается применять шаблоны с подстановочными символами.

 

Рис. 3.10. Пример таблицы БД

 

Если точное значение не известно или необходимо вводить значение не полностью, то удобно использовать шаблон (образец) с подстановочными символами (знаками). Примеры подстановочных символов:

* - соответствует любому количеству любых символов. Пример: 77* - для нахождения всех телефонов с номерами, начинающимися на 77.

? - соответствует одному текстовому символу. Пример: 77-4?-0? - для нахождения всех телефонов с номерами, содержащими четыре указанные цифры.

Шаблоны используются совместно с оператором Like. Этот оператор позволяет создавать шаблоны, использующие подстановочные символы при поиске в текстовых полях. Например, фамилия сотрудника известна неточно. Это может быть Петров, Петровский, Пеотровский и т.п. Тогда следует использовать для выборки в строке Условие запись Like "Пе*".

Известно, что имя состоит из 4-х букв. Тогда подойдет запись Like "????".

Оператор Between задаёт интервал значений. Например, Between 1 And 5

(указанные края интервалов в выборку включаются).

Оператор In выполняет проверку на равенство любому значению из списка, заданному в круглых скобках. Например, In("ручка";"духи").

Логические операции И, ИЛИ могут быть заданы явно в выражении условия с помощью операторов AND и OR. Например, «духи» OR «карандаш».

В качестве операндов в запросах могут использоваться литералы, константы, идентификаторы (ссылки).

Литералами являются конкретные значения, воспринимаемые системой так, как они записаны. Литералом может быть число, дата, строка. Например, 1146, #31.01.02 #, "Липецк".

Константами являются постоянные значения, которые определены в Access. Например, True, False, Null, Да, Нет.

Идентификаторосуществляет ссылку на поле, элемент управления или свойство. Идентификаторами могут быть имена полей, таблиц, форм, и так далее. Они заключаются в квадратные скобки. Ссылка на конкретное значение должна указывать на его местоположение в иерархии объектов в БД. Ссылка на поле в таблице имеет вид [Имя таблицы]![Имя Поля]. Например, [Сотрудники]![Фамилия].

Условие отбора целесообразно формировать с помощью построителя выражений. Для этого следует открыть окно Построитель выражений,щёлкнув кнопку Построитьна панели инструментов или выбрав команду Построитьв контекстном меню. Предварительно необходимо установить курсор мыши в ячейке ввода условия.

Условие точного несовпадения значений одного из полей. Если в таблице надо найти записи, значения полей которых не удовлетворяют определенному условию, то используется оператор Not. Оператор Not или <> вводится перед сравниваемым значением. Пример. Отобрать все записи таблицы TYPE, за исключением записей «карандаш» в поле Товар. Для этого в бланке запроса в столбце поля Товар в строке Условие отбора вводится Not " карандаш".

Условие неточного совпадения. Выбор записей по условию неточного

совпадения значений можно осуществить, используя оператор Like. Этот оператор позволяет найти требуемые записи, зная лишь приблизительное написание текстовой величины. В операторе Like можно использовать шаблоны с подстановочными символами, что расширяет возможности поиска записей при неточном задании условий. Пример условия отбора: Like “[д-к]*”. Здесь - (минус) соответствует любому символу из диапазона. Диапазон необходимо указывать по возрастанию (д-к, но не к-д).

Выбор записей по диапазону значений. Для задания диапазона значений в окне конструктора запросов используются операторы >, <, Between, Like. Их можно применять с текстовыми, числовыми полями и полями типа даты. Примеры: в строке Условие отбора возможно ввести: >100.00 AND < 500.00; Between # 01.01.97 # AND #31.03.97#; Like “[M-T]*”. Напомним, что символ # применяется для данных типа «дата/время».

Пример 1. Запрос с точным несовпадением в одном поле и с условием сравнения в другом поле. Запрос на выборку из таблицы TYPE всех не красных товаров, цена которых более 5, представлен на рис. 3.11 (запрос создан в режиме Конструктора).

Результат выполнения этого запроса показан на рис. 3.12.

Пример 2. Запрос на частичное совпадение. Запрос на выборку из таблицы TYPE товаров, название которых состоит из 4-х букв и заканчивается на «хи». Результат выполнения запроса показан на рис. 3.14.

 

 

Рис. 3.11. Запрос на выборку товаров не красного цвета стоимостью более 5

Рис. 3.12. Результат выполнения запроса, сформированного на рис. 3.11

Рис. 3.13. Запрос на выборку товаров, название которых состоит из 4-х букв и заканчивается на «хи»

Рис. 3.14. Результат выполнения запроса, сформированного на рис. 3.13








Дата добавления: 2015-08-20; просмотров: 17791;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.