9.1. Логические операторы #
Набор логических операторов включает обычные:
booleanANDboolean→booleanbooleanORboolean→booleanNOTboolean→boolean
В SQL работает логическая система с тремя состояниями: true (истина), false (ложь) и NULL, «неопределённое» состояние. Рассмотрите следующие таблицы истинности:
a | b | a AND b | a OR b |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| TRUE | NULL | NULL | TRUE |
| FALSE | FALSE | FALSE | FALSE |
| FALSE | NULL | FALSE | NULL |
| NULL | NULL | NULL | NULL |
a | NOT a |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
| NULL | NULL |
Операторы AND и OR коммутативны, то есть от перемены мест операндов результат не меняется. (Однако левый операнд не обязательно будет вычисляться перед правым. Более подробно порядок вычисления подвыражений описывается в Подразделе 4.2.14.)