Практическое руководство. Соединение условий с приоритетом оператора OR
Чтобы связать условия оператором OR и дать им приоритет над условиями, связанными оператором AND, необходимо повторить условие, связанное оператором AND, для каждого условия, связанного оператором OR.
Например, предположим, что нужно найти всех сотрудников, которые проработали в компании более пяти лет и имеют самую низшую должность или вышли на пенсию.Этот запрос требует трех условий, одно из которых должно быть связано с двумя дополнительными оператором AND:
Сотрудники, принятые на работу ранее, чем пять лет назад;
Сотрудники с уровнем должности 100 или статусом "R" (для вышедших на пенсию).
В следующей процедуре показано, как создать такой тип запроса в области критериев.
Примечание |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Чтобы соединить условия с приоритетом оператора OR
В области критериев добавьте столбцы данных для поиска.Если необходимо выполнить поиск в одном столбце по двум и более условиям, связанным оператором AND, в сетку необходимо добавить имя столбца данных столько раз, сколько имеется искомых значений.
Создайте условия, которые должны быть связаны оператором OR, введя первое условие в столбец сетки Фильтр, а второе (и последующие условия) в отдельные столбцы Или....Например, чтобы создать условия, связанные оператором OR, для поиска по столбцам job_lvl и status, введите = 100 в столбец Фильтр для job_lvl и = 'R' в столбец Или... для status.
При вводе этих значении в сетке будет создано приведенное ниже предложение WHERE в инструкции в области SQL:
WHERE (job_lvl = 100) OR (status = 'R')
Создайте условие, связанное оператором AND, добавив его один раз для каждого условия, связанного оператором OR. Поместите условие AND в столбец сетки, где находится соответствующее условие OR.Например, чтобы добавить условие, связанное оператором AND, для поиска по столбцу hire_date и применить его к обоим условиям, связанным оператором OR, введите < '1/1/91' в оба столбца: столбец критериев и столбец Или....
При вводе этих значении в сетке будет создано приведенное ниже предложение WHERE в инструкции в области SQL:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
Совет Можно повторить ввод предварительно введенного условия AND с помощью команд Вырезать и Вставить из меню Изменить, чтобы продублировать его для других условий, связанных оператором OR.
Предложение WHERE, созданное в конструкторе запросов и представлений, эквивалентно следующему предложению WHERE, в котором используются скобки для указания приоритета оператора OR над оператором AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
Примечание |
---|
Если ввести условия поиска в представленном выше формате в области SQL, а потом изменить запрос в области схем или в области критериев, то конструктор запросов и представлений заново создаст инструкцию SQL, чтобы она соответствовала форме с условием AND, явным образом распространяемую на оба условия, связанные оператором OR. |
См. также
Ссылки
Операторы сравнения (визуальные инструменты для баз данных)
Основные понятия
Обозначения для условий комбинированного поиска в области критериев