Логический оператор 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
.