- •Лабораторная работа № 5. Запросы на выборку
- •Программа работы
- •Краткие сведения
- •Виды запросов
- •Создание запроса на выборку Создание запроса. Окно Конструктора запросов
- •Добавление полей в запрос
- •Указание порядка сортировки
- •Задание условия отбора исходных данных
- •Применение параметров в запросе
- •Флажок вывода на экран
- •Изменение имени поля в запросе
- •Сохранение запроса
- •Выражения. Применение выражений в запросах
- •Элементы выражений
- •Операторы
- •Арифметические операторы
- •Операторы присваивания и сравнения
- •Логические операторы
- •Операторы слияния строковых значений (конкатенации)
- •Операторы идентификации "!" и "."
- •Другие операторы
- •Константы в явном представлении
- •Идентификаторы
- •Функции
- •Создание вычисляемых полей с использованием выражений
- •Построитель выражений
- •Создание выражения с помощью построителя выражений
- •Групповые операции
- •Порядок и методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
Добавление полей в запрос
Как было отмечено в начале, первая строка графического QBE содержит имена полей, т.е. в первую строку нужно поместить имена всех требуемых полей.
Добавить поля в запрос можно одним из следующих способов:
Перетаскиванием. Для этого мышкой выделяем нужное поле в таблице или запросе-источнике и перетаскиваем его в нужный столбец бланка в строку Поле.
Двойным щелчком. Для этого делаем двойной щелчок по требуемому полю в таблице или запросе-источнике. Имя этого поля появляется в строке Поле первого свободного столбца бланка.
Выбором из списка в строке Поле. Для этого щелкнем мышкой по строке Поле первого свободного столбца бланка. Появится кнопка выбора из списка. Теперь нажимаем эту кнопку или клавишу <F4> и выбираем соответствующее поле (рис. 5.5).
Рис. 5.5. Добавление поля Месяц в запрос выбором из списка
Все эти способы равноценны за одним исключением. Если Вы забыли вставить в бланк какое-либо поле и теперь желаете вставить его между другими, уже занесенными в бланк полями, то эту операцию можно сделать только способом перетаскивания. Например, Вы хотите вставить поле Название месяца между полями Месяц и Рабочие дни. Для этого в таблице Календарь в верхней части окна QBE захватите поле Название месяца и перенесите в бланк результата прямо на поле Рабочие дни. Когда Вы отпустите мышку, поле Рабочие дни и все поля справа от него подвинутся вправо, а на его место встанет поле Название месяца.
Указание порядка сортировки
Для задания порядка сортировки результатов нужно поместить курсор в строку Сортировка столбца с названием соответствующего поля, нажать кнопку раскрытия списка или клавишу <F4> и выбрать из списка требуемый порядок сортировки (рис. 5.6).
Рис. 5.6. Задание порядка сортировки
Задание условия отбора исходных данных
Часто бывает нужно просмотреть не все данные таблицы а лишь некоторые в соответствии с каким-то условием. Условие отбора задается в строке Условие отбора. Это может быть простое условие, набранное с клавиатуры и представляющее собой одну из возможных величин. Например, чтобы отобрать сотрудников, имеющих больше 3 детей, достаточно в столбце Количество детей указать в строке Условие отбора значение «>3». Это также может быть более сложное выражение, как набранное с клавиатуры, так и сконструированное при помощи специального инструмента – Построителя выражений (см. ниже).
Условие может начинаться с операторов сравнения: =, <, >, <=, >=, <>. Если оператор сравнения не указан, подразумевается =. Оператор сравнения обычно используется для чисел и дат. Применительно к текстовым полям сравнение ведется в алфавитном порядке. Для текстов значение в поле должно полностью совпадать с указанным в условии, но можно использовать символ «*», заменяющие любые символы в любом количестве в данной позиции, и символ «?», заменяющие один символ в данной позиции. Например, для поиска сотрудника по имени Иван в поле, содержащем фамилию, имя и отчество, нужно указать условие «* иван *» (пробелы вокруг имени тут используются, чтобы исключить фамилии и отчества типа Иванов, Иванович). Условие поиска при выполнении преобразовывается: даты обрамляются «#», текстовые фрагменты кавычками, а если они содержат символы «*» или «?», перед фрагментом вставляется оператор Like. При поиске в текстовом поле регистр игнорируется. (Подробнее о применении оператора Like см. стр. 16, пункт «Другие операторы»).
Если требуется указать несколько условий, которые должны выполняться одновременно, их записывают в одной и той же строке. Если они относятся к одному полю, можно создать еще колонки с этим полем без вывода на экран. Условия, из которых достаточно выполнения одного, записывают в одной колонке: первое задается в строке Условие отбора, второе - в строке ИЛИ, третье - под вторым и т.д.