русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Создание запросов, содержащих условия на значения полей (условия отбора строк)


Дата добавления: 2015-07-09; просмотров: 819; Нарушение авторских прав


В предыдущем разделе разбиралось создание так называемых простых запросов. Рассмотрим создание с помощью «Конструктора» запросов более общего вида. Ход работы включает следующие этапы:

1. Первый этап тот же, что и описанный выше в разделе «Начало работы». А именно: отбираются таблицы, затем из таблиц отбираются поля, которые должны войти в таблицу-результат. (Имена полей можно заносить в бланк буксировкой из макетов таблиц.)

2. Если нужно, задается групповая операция (пример приведен в упражнении 6).

3. Задаются условия отбора данных (условия на значения полей).

 

Задание условий отбора данных (условий на значения полей). Логические выражения («действительные выражения» по терминологии справочника [6])

Для записи условий отбора используются некоторые понятия и конструкции логики. Высказыванием в логике называют любой текст, относительно которого можно утверждать, что он истинен или ложен. Другими словами, высказывание может иметь одно из двух значений: «истина» или «ложь». Частный вид высказывания – отношение, то есть равенство или неравенство. Простейшие условия на значения полей записываются в виде отношений.

 

Примеры отношений:

а) [марка]= «ауди» ; б) [пробег]>10000 ; в) [марка]<>«вольво»

Оператор <> означает «не равно». В таблицу-результат будут отобраны данные, для которых заданное отношение принимает значение «истина».

Занесение отношений в бланк «Конструктора» (рисунок 15): для занесения отношения (а) достаточно в столбце «марка» занести в поле «Условие отбора» данное «ауди» (можно без кавычек, они появятся автоматически). Отношения (б) и (в) заносятся в виде >10000 и <>«вольво» в столбцы «пробег» и «марка»..

Более сложные условия отбора записываются в виде логических выражений, то есть выражений составленных из отношений с помощью логических операторов ИЛИ, И, НЕ и других. В Access 2000 первые три оператора записываются на английском как Оr, And, Not. Логическое выражение также является высказыванием, то есть может принимать два значения: ИСТИНА или ЛОЖЬ.



 

Условия, касающиеся значений только одного поля

Примеры:

А) [марка]= «ауди» Оr [марка]=«вольво»

Разберемся, какие данные будут отобраны. Для некоторых данных из таблицы «Машины» истинно первое отношение, для некоторых второе, для остальных ложны оба. Все выражение «целиком» истинно, когда истинно хотя бы одно из двух отношений, соединенных оператором Оr. Поэтому будут отобраны данные по маркам и «ауди», и «вольво».

Занесение в бланк: первое отношение заносится в поле «Условие отбора», второе – в поле «или», расположенное ниже. Оператор Or при таком способе явным образом не заносится.

 

 

Б) [пробег]>10000 And [пробег]<30000

Выражение с оператором And истинно, если истинны оба выражения, которые этот оператор «соединяет». Поэтому с помощью условия (Б) будут отобраны записи таблицы «Машины», в которых поле «пробег» принимает значение из интервала (10000;30000).

Занесение в бланк, два варианта:

а) С помощью окна «Построитель выражений»: в бланке в столбце «пробег» щелкнуть поле «Условие отбора»; вызвать окно «Построитель выражений» кнопкой «Построить» ; с помощью кнопок окна набрать инструкцию-условие, ОК. Условие можно набирать в сокращенном виде: >10000 And <30000.

б) В столбце «пробег» занести в поле «Условие отбора» выражение

>10000 And <30000.

 

Условия, касающиеся значений двух и более полей

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

!При выполнении операций, описанных в примерах ниже, и при выполнении упражнений, удалите связь между таблицами «Жители» и «Машины» по полю «место работы». То есть либо удалите ее на время выполнения запроса клавишей Delete, либо задайте связь между таблицами заново – связь по простому ключу «ФИО».

 

Примеры:

В) выберем «молодые» «ауди»: [марка] = «ауди» And [пробег] <10000.

Занесение в бланк: занести «ауди» в поле «Условие отбора» в столбце «марка», а <10000 – в столбце «пробег». (Оператор And в этом случае в явном виде не заносится. Напомним, что логическое выражение «целиком», то есть с оператором And записывается пользователем при создании запроса на языке SQL (пример приведен в разделе 2.3)).

Г) отберем «стариков» и среди машин, и среди их владельцев:

[пробег]>100000 Or [возраст]>60

Будут отобраны данные и по машинам с пробегом >100000, и по владельцам с возрастом >60. Занесение в бланк, два варианта:

а) Все выражение целиком с помощью «Построителя выражений» заносится в одно из полей «или». При этом работа с окном «Построителя» (рисунок 16) идет таким образом: двойным щелчком открывается папка «Таблицы», щелчком – папка «машины», запись [машины]![пробег] получают двойным щелчком на имени «пробег», и так далее.

 

Рис. 16

 

б) Одно из отношений заносится в поле «Условие отбора», а другое в поле «или». То есть, возможны два варианта. Один из них: >100000 заносится в поле «или» столбца «пробег», а >60 заносится в поле «Условие отбора» столбца «возраст».

 

УПРАЖНЕНИЕ 7

Если упражнение 7 выполняется сразу после упражнения 6, то можно выключить кнопку «Групповые операции» . Σ . , чтобы убрать соответствующую сроку в бланке. Создайте четыре запроса в БД «Граждане», задавая условия отбора, приведенные в пунктах А) – Г). Дайте запросам имена «ауди-вольво», «пробег», «молодые «ауди»», «старики».

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

Общее правило конструирования условий отбора: занесение отношений в поле «Условие отбора» в разных столбцах бланка «Конструктора» означает создание условия вида

«отношение 1» And «отношение 2» And «отношение 3» …

Если подобные условия занесены и в поле «Условие отбора», и в поле «или», то они будут связаны оператором Or , то есть будет создано условие вида

(«отношение 1» And «отношение 2» And … )Or(«отношение n» And «отношение n+1» And …)

Для добавления еще одного оператора Or нужно перейти в следующую строку полей «или» с помощью вертикальной полосы прокрутки окна «Конструктора». При этом введенная ранее часть условия перестанет быть видным (полностью все условия отбора можно увидеть в инструкции на языке SQL: воспользуйтесь меню кнопки «Вид»).

 

УПРАЖНЕНИЕ 8: редактирование запроса, арифметические дейст-



<== предыдущая лекция | следующая лекция ==>
Сортировка записей | Вия в условиях, флажок «Вывод на экран»


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.275 сек.