Применение логических операторов

Логический оператор NOT перед условием обращает его, т.е. условие считается выполненным при его невыполнении. Например условие NOT A=5 считается выполненным в тех случаях когда А не равняется 5.

Несколько условий могут объединяться с помощью логических операторов соединения AND, OR <Условие1> <оператор соединения><Условие2>.

При использовании оператора AND для выполнения условия должны быть выполнены оба подусловия которые он соединяет. Например условие A=5 AND D>10 будет выполнено только если значение A равняется 5 и значение D превышает 10.

При использовании оператора OR для выполнения условия достаточно выполнения одного из подусловий.

Логические операторы могут соединять несколько условий, по цепочке, при этом сначала проверяются подусловия с оператором Not, затем подусловия соединенные операторами AND и затем, соединенные операторами OR. Для изменения порядка применения логических операторов можно заключать часть выражения в скобки, при этом операторы в скобках применяются в первую очередь.

Примеры применения логических операторов

Оператор NOT

SELECT * FROM Здания WHERE NOT Улица LIKE '%Южный пер.'

Выводятся все записи в которых значение поля Здания не оканчивается строкой Южный пер..

Оператор AND

SELECT * FROM Здания WHERE Улица='Нахимова' AND Area>500

Выводятся записи в которых значение поля Улица равняется строке Нахимова и значение поля Area превышает 500.

Оператор OR

SELECT * FROM Здания WHERE Perimeter>100 OR Area>500

Выводятся записи в которых значение поля Perimeter превышает 100, значение поля Area превышает 500, либо выполняются оба условия одновременно.

Одновременно несколько логических операторов

SELECT * FROM Здания WHERE Улица='1й Южный пер.' AND
[Номер дома] NOT BETWEEN 10 AND 20 OR
Улица='2й Южный пер.' AND [Номер дома] BETWEEN 1 AND 10

Выводятся все записи для домов по улице 1й Южный пер. кроме домов с 10 по 20 и все записи для домов улицы 2й Южный пер. с 1 по 10.

Изменение порядка применения операторов с помощью скобок

SELECT * FROM Здания WHERE
(Perimeter>100 OR Area>500) AND [Количество этажей] = 5

Выводятся все записи в который значение поля Количество этажей равно 5 и, одновременно значение поля Perimeter превышает 100, либо значение поля Area превышает 500.