Использование альтернативных или нескольких условий запроса с помощью условия «ИЛИ»
Чтобы просмотреть сведения о выполнении нескольких альтернативных условий, используйте в бланке запросов Access строки условия или.
Сведения о том, как сделать это, см. в статье Применение условий к запросу.
Предположим, что у компании есть клиенты в разных странах и она проводит рекламную акцию только для клиентов во Франции, Великобритании и США. Чтобы получить список клиентов только из этих стран, можно использовать строку «ИЛИ» следующим образом:
Откройте таблицу, которую нужно использовать как источник запроса, и на вкладке Создание нажмите кнопку Конструктор запросов.
В конструкторе запросов выберите нужную таблицу и дважды щелкните поля, которые требуется отобразить в результатах запроса.
Добавьте первое условие в строке Условия.
Примечание: Используйте соответствующий столбец. В примере использован столбец Страна или регион, но для поиска определенных фамилий нужно было бы добавить условие в поле Фамилия.
Добавьте альтернативное условие в строку или и, если условий несколько, используйте пустые строки ниже и нажмите кнопку Выполнить
Нажмите сочетание клавиш CTRL+S, чтобы сохранить запрос.
Другой пример условия «ИЛИ»: Поиск сотрудников филиала в Чикаго ИЛИ сотрудников с определенной датой рождения:
1. Условие «Город» указывается в строке Условие отбора.
2. Условие «ДатаРождения» указывается в строке или.
Условия, заданные в строках Условие отбора и или, объединяются с помощью оператора OR, как показано ниже.
Город = «Чикаго» OR ДатаРождения или.
Совет: Если условие временное или часто изменяется, лучше применить фильтр для получения результатов запроса.
Использование условия «ИЛИ» в разных полях
На рисунке ниже показано, как с помощью строки условия «ИЛИ» можно задать альтернативные условия в разных полях, например для поиска компаний, клиенты которых живут во Франции или Лондоне.
Совет: Если условие является также ключевым словом, заключите его в кавычки. Например, сокращения названий штатов Орегон и Индиана ( OR и I N) — это еще и логические операторы, поэтому их следует указывать как «»OR»».
Если используются одни и те же поля условий, но их значения при этом часто меняются, можно создать запрос с параметрами.
Использование параметров для ввода данных при выполнении запроса
Чтобы настроить в запросе к базе данных рабочего стола Access ввод условий при его выполнении, создайте запрос с параметрами. Это даст возможность использовать запрос повторно, не открывая его в Конструктор для изменения условий.
Примечание: Эта статья не относится к веб-приложениям Access.
Терминология
Прежде чем перейти к описанной ниже пошаговой процедуре, полезно ознакомиться с несколькими терминами.
Параметр. Параметр — это часть сведений, предоставляемых запросу при его выполнении. Параметры можно использовать отдельно или в составе длинных выражений для формирования условия запроса. Параметры можно добавить в запрос любого из следующих типов:
на создание таблицы;
Условия. Условия — это «фильтры», добавляемые в запрос для указания элементов, которые он должен возвратить.
Дополнительные сведения об указанных выше типах запросов см. в статье Знакомство с запросами.
Создание запроса с параметрами
Создание параметра аналогично добавлению обычного условия в запрос:
Создайте запрос на выборку и откройте его в конструкторе.
В строке «Условия» поля, к которым вы хотите применить параметр, введите текст, который вы хотите отобразить в поле параметра, в квадратных скобках. Например: [Введите дату начала:]
Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.
При запуске запроса текст отображается без квадратных скобок.
Введите нужное значение и нажмите кнопку ОК.
В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.
Указание типов данных для параметра
Можно настроить параметр так, чтобы он принимал только определенный тип данных. Это особенно важно для числовых и денежных данных, а также данных даты и времени, так как в таком случае пользователи получат более содержательное сообщение об ошибке при вводе неправильного типа данных, например при вводе текста вместо денежного значения.
Примечание: Если параметр настроен на прием текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.
Чтобы задать тип данных для параметра в запросе, выполните указанные ниже действия.
Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.
В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод каждого из параметров, для которых требуется указать тип данных. Проверьте, соответствуют ли параметры запросам на ввод, указанным в строке Условия в бланке запроса.
В столбце Тип данных выберите тип данных для каждого параметра.
Добавление параметра в запрос на объединение
Так как запрос на объединение нельзя просмотреть в бланке запроса, действия с ним будут немного отличаться.
Откройте запрос на объединение в режиме SQL.
Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.
Если предложение WHERE уже существует, проверьте, включены ли в него все поля, в которые нужно добавить параметры. Если нет, добавьте недостающие поля.
Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].
Имейте в виду, что во все разделы запроса необходимо добавить одинаковые фильтры. На рисунке выше запрос содержит два раздела (разделенные ключевым словом UNION), поэтому параметр нужно добавить дважды. Но при выполнении запроса ввод данных запрашивается только один раз (предполагается, что во всех разделах указан одинаковый запрос).
Объединение параметров с помощью подстановочных знаков для большей гибкости
Как и в случае обычных условий, вы можете объединить параметры с помощью ключевого слова Like и подстановочных знаков для поиска соответствий в более широком диапазоне элементов. Предположим, что нужно запросить страну или регион и при этом сопоставить их со значениями, которые содержат строку параметра. Для этого выполните указанные ниже действия.
Создайте запрос на выборку и откройте его в конструкторе.
В строке Условия поля, в которое нужно добавить параметр, введите Like «*»&[, текст сообщения, а затем ]&»*».
При запуске запроса с параметрами запрос появляется в диалоговом окне без квадратных скобок и без ключевого слова Like или
поддиаметров:
После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение «Австралия» или «Австрия».
Дополнительные сведения о подстановочных знаках см. в статье Использование подстановочных знаков в качестве условий.
Возврат элементов, не соответствующих параметру
Вместо возврата элементов, соответствующих параметру, можно создать запрос, возвращающий элементы, которые ему не соответствуют. Например, может потребоваться запросить год и возвратить элементы со значением года, большим чем указанное. Для этого введите оператор сравнения слева от запроса параметра в квадратных скобках, например >[Введите год:].
Видео: использование параметров в запросах
Использовать в запросе параметр не сложнее, чем создать запрос на основе условий. Запрос можно настроить таким образом, чтобы предлагалось ввести определенное значение, такое как артикул товара, или несколько значений, например две даты. Для каждого параметра запрос выводит отдельное диалоговое окно, в котором предлагается ввести значение.
В этом видео подробнее рассказывается о создании параметров в запросах.
Построение условий в запросах на выборку в СУБД MS Access
В большинстве современных СУБД имеется свой вариант QBE, незначительно отличающийся от первого описания QBE, предложенного в конце 70-х годов ХХ в. Рассмотрим некоторые возможности QBE СУБД MS Access.
Используем для примера таблицу БД, которая относится к торговле (рис. 3.10). Имя таблицы TYPE (типы товаров). Она имеет столбцы: товар – названия товара; цвет – его цвет; стоимость – стоимость товара.
Выборка данных может осуществляться по следующим вариантам:
1. Простая выборка, например: «Вывести товары зеленого цвета из таблицы TYPE».
2. Простая выборка с упорядочиванием.
3. Выборка с квалификаторами (условиями). Выбор записей из исходной таблицы может быть основан на: а) точном совпадении; б) частичном совпадении; в) сравнении.
Рис. 3.10. Пример таблицы БД
Если точное значение не известно или необходимо вводить значение не полностью, то удобно использовать шаблон (образец) с подстановочными символами (знаками). Примеры подстановочных символов:
Шаблоны используются совместно с оператором 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 » карандаш».
Условие неточного совпадения. Выбор записей по условию неточного
Выбор записей по диапазону значений. Для задания диапазона значений в окне конструктора запросов используются операторы >, 100.00 AND
Дата добавления: 2015-08-20 ; просмотров: 14067 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Access SQL. Предложение WHERE
Это статья из цикла статей о языке SQL для Access. В ней описано предложение WHERE и приведены примеры, поясняющие различные методы, используемые при его составлении.
В предложении WHERE инструкции SQL указываются условия, которым должны соответствовать значения полей, чтобы записи, содержащие эти значения, были включены в результаты запроса.
Общие сведения о языке SQL для Access см. в статье Access SQL. Основные понятия, лексика и синтаксис.
В этой статье
Ограничение результатов с помощью условий отбора
Если вы хотите использовать данные для ограничения числа записей, возвращаемой в запросе, можно использовать условия. Критерий запроса похож на формулу — это строка, которая может состоять из ссылок на поля, операторов и констант. Условия запроса — это тип выражение.
В таблице ниже представлены образцы условий и объясняется, как они работают.
Это условие применимо к полю типа «Дата/время», такому как «ДеньРождения». В результат запроса будут включены только те записи, в которых количество лет, прошедшее со дня рождения до текущей даты, превышает 30.
Это условие может быть применено к полям любого типа для вывода записей, в которых поле имеет значение Null.
Как показано в предыдущей таблице, условия могут значительно отличаются друг от друга в зависимости от типа данных поля, к которому применяются условия, и ваших требований. Некоторые условия простые и включают только основные операторы и константы. Другие — это сложные функции и специальные операторы, а также ссылки на поля.
Важно: Если поле используется с агрегатной функцией, в предложении WHERE для этого поля нельзя задать условия. Вместо этого для указания условий для агрегированных полей используется предложение HAVING. Дополнительные сведения см. в статьях Access SQL: основные понятия, лексика, синтаксис и предложение HAVING.
Синтаксис предложения WHERE
В предложении WHERE инструкции SELECT задаются условия запроса.
Предложение WHERE имеет следующий базовый синтаксис:
WHERE field = criterion
Предположим, например, что необходимо узнать телефонный номер клиента, но вы помните только его фамилию: Bagel. Вместо того, чтобы просматривать все телефонные номера, которые содержатся в базе данных, можно воспользоваться предложением WHERE, чтобы ограничить результаты и упростить поиск нужного номера. Если фамилии хранятся в поле LastName, предложение WHERE будет выглядеть следующим образом:
Примечание: Критерии в предложении WHERE не должны быть базой на эквивалентности значений. Вы можете использовать другие операторы сравнения, например больше (>) или меньше ( WHERE [Price]>100.
Использование предложения WHERE для объединения источников данных
Иногда необходимо объединить источники данных на основе полей с совпадающими значениями, но разными типами данных. Например, поле в одной таблице может иметь числовой тип данных, а сравнить его нужно с полем из другой таблицы, которое имеет текстовый тип данных.
Создать объединение между полями, имеющими разные типы данных, нельзя. Чтобы объединить данные их двух источников на основе значений полей с разными типами данных, нужно создать предложение WHERE, в котором одно поле используется с ключевым словом LIKE как условие отбора для другого поля.
Предположим, например, что необходимо использовать данные из Таблицы1 и Таблицы2, но только в том случае, когда данные в field1 (текстовое поле в Таблице1) совпадают с данными из field2 (числовое поле в Таблице2). Предложение WHERE будет выглядеть следующим образом:
WHERE field1 LIKE field2
Дополнительные сведения о создании условий отбора, используемых в предложении WHERE, см. в статье Примеры условий запроса.
Информационные технологии. 10 класс (Базовый уровень)
§ 5. Формирование запросов на выборку данных
С помощью запросов в базах данных выполняют такие операции, как отбор данных, их сортировка и фильтрация. Запрос можно использовать для выполнения расчетов, объединения данных из разных таблиц, а также для добавления, изменения или удаления данных в таблице. Это очень гибкий инструмент, и существует много типов запросов, а выбор типа определяется назначением запроса.
Запрос — объект БД, который используется для реализации эффективного поиска и обработки данных.
Источником данных для запросов могут быть не только одна или несколько таблиц, но другие запросы. Запросы не хранят данные, а только отображают данные источников. На основе запросов могут быть построены формы и отчеты.
Самый распространенный вид запросов — запрос на выборку. Он предназначен для отбора данных из источника в соответствии с некоторым условием. Условие запроса — это выражение, которое СУБД сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение.
Запрос на выборку позволяет:
1. Просматривать значения только из полей, которые вас интересуют.
2. Просматривать записи, которые отвечают указанным вами условиям.
3. Использовать выражения в качестве полей.
По особенностям действия среди запросов на выборку можно выделить простые запросы, групповые запросы и запросы с вычисляемым полем.
Основные режимы работы с запросами в Access:
1. Режим таблицы. Отображает информацию запроса на выборку в режиме таблицы.
2. Конструктор. В этом режиме определяется структура запроса и условия выбора данных (см. Приложение к главе 1).
Создать запрос можно с помощью Мастера запросов либо в Конструкторе (пример 5.2).
Мастер запросов позволяет автоматически создавать запросы на выборку. Однако при использовании мастера не всегда можно контролировать процесс создания запроса, но таким способом запрос создается быстрее. Необходимо просто выполнить последовательность действий, предлагаемых мастером на каждом этапе (пример 5.3).
Основные этапы создания запроса на выборку:
1. Выбор инструмента создания запроса.
2. Определение вида запроса.
3. Выбор источника(ов) данных.
4. Добавление из источника(ов) данных полей, которые должен содержать запрос.
5. Определение условий, которые формируют набор записей в запросе.
6. Добавление группировки, сортировки и вычислений (может отсутствовать).
Действие простых запросов на выборку ограничивается отбором данных по некоторым условиям без их обработки.
Примеры записи условий в запросах:
Поля с числовым типом данных
Выбираются записи, у которых значение в этом поле больше 0 и меньше 8.
Выбираются записи, у которых значение в этом поле не равно 0.
Поля с текстовым типом данных
Если значение в поле записи равно Орша, то запись включается в результат запроса.
В результат запроса включаются записи, у которых значение соответствующего поля заканчивается на букву к. После выполнения запроса условие будет дополнено оператором Like, который позволяет использовать символы шаблона.
Правила записи условий для поля с типом данных Дата и время такие же, как для поля с числовым типом данных. После выполнения запроса в этом случае в условие будут добавлены знаки #.
В режиме конструктора процесс создания запроса находится под вашим контролем, однако здесь есть вероятность допустить ошибку и необходимо больше времени, чем в мастере (пример 5.4).
После создания запроса на выборку его необходимо запустить, чтобы посмотреть результаты, т. е. открыть в режиме таблицы. Сохранив запрос, его можно использовать в качестве источника данных для формы, отчета или другого запроса.
В запросах так же, как и в отчетах, можно создавать вычисляемые поля. Для решения ряда вопросов работы с данными используется запрос итоговых значений. Такой запрос представляет собой запрос на выборку, позволяющий группировать данные и производить вычисления.
В запросе итоговых значений в вычисляемом поле используют статистические функции. Задать статистическую функцию для вычисления итоговых значений по каждому из полей запроса можно путем выбора ее из раскрывающегося списка, который появляется после установки курсора в строке Групповая операция (пример 5.6).
Наряду с запросами на выборку часто применяются запросы на действие. С помощью таких запросов можно обновлять значения полей записей, добавлять новые или удалять уже существующие записи. В СУБД Access такие запросы можно создать в режиме конструктора, воспользовавшись инструментами группы Тип запроса:
Пример 5.1. Режимы работы с запросами.
Режим SQL позволяет создавать и просматривать запросы с помощью инструкций языка SQL.
SQL (англ. structured query language — язык структурированных запросов). Применяется для создания, редактирования и управления данными в реляционной базе данных.
Пример 5.2. Группа инструментов Запросы вкладки Создание.
Пример 5.3. Создание запроса на выборку с помощью Мастера запросов.
1. Выбрать инструмент .
2. Выбрать вид запроса.
3. Выбрать источник данных.
4. Задать поле, содержащее повторяющееся значение.
5. Выбрать поля для отображения вместе с повторяющимися значениями.
6. Просмотреть и/или сохранить запрос.
Пример 5.4. Создание простых запросов на выборку с помощью Конструктора запросов.
1. Выбрать инструмент
2. Выбрать источник данных.
3. Добавить поля таблицы, которые будет содержать запрос. Для этого выполнить двойной щелчок по каждому из названий полей в макете таблицы.
4. Записать условие формирования набора записей в запросе.
4.1. Выбор по полю с текстовым типом данных.
4.2. Выбор по полю с числовым типом данных.
4.3. Использование составного условия.
5. Сохранить запросы.
Пример 5.5. Создание запроса с параметрами.
1. Открыть один из запросов, созданных в примере 5.4 в конструкторе.
2. Изменить условия отбора на:
3. Сохранить с новым именем и открыть в режиме таблицы.
4. В диалоговом окне набрать одно из названий кинотеатра.
5. Просмотреть запрос.
Пример 5.6. Создание итогового запроса.
Создать итоговый запрос, определяющий, сколько мальчиков и сколько девочек посещают факультатив по математике.
1. Источник данных — таблица «Учащиеся».
2. Создать запрос с помощью конструктора (добавить в запрос только поле «Пол»).
3. Сгруппировать данные по полю «Пол» (нажать кнопку в группе Показать или скрыть).
4. Добавить вычисляемое поле (в строке нового поля Групповая операция в списке выбрать функцию Count).