9.1. Логические операторы #
Набор логических операторов включает обычные:
boolean
AND
boolean
→boolean
boolean
OR
boolean
→boolean
NOT
boolean
→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.)