Простые условия поиска, описанные выше, после применения к некоторой строке возвращают значения TRUE, FALSE или NULL. С помощью правил логики эти простые условия можно объединять в более сложные, как показано ниже. Обратим внимание на то, что условия поиска, объединенные с помощью ключевых слов AND, OR и NOT, сами могут быть составными.
WHERE условие поиска ·
NOT
AND
OR
Таблица истинности операции AND.
AND | TRUE | FALSE | NULL |
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
Таблица истинности операции OR.
OR | TRUE | FALSE | NULL |
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | NULL |
NULL | TRUE | NULL | NULL |
Таблица истинности операции NOT.
NOT | TRUE | FALSE | NULL |
FALSE | TRUE | NULL |
Предположим, что нам нужно достать все документы за определенные промежутки времени, исключая 8 марта.
SELECT *
FROM ДОКУМЕНТ
WHERE (ДАТА>’1.03.2000’ AND ДАТА<’13.03.2000’)
OR (ДАТА=’18.01.2000’) AND NOT (ДАТА=’8.03.2000’)
Вывести все документы за восьмое число января, февраля, и марта.
SELECT *
FROM ДОКУМЕНТ
WHERE ДАТА=’8.01.2000’ OR ДАТА=’8.02.2000’ OR ДАТА=’8.03.2000’