Логические операторы#
Оператор  | 
Описание  | 
Пример  | 
|---|---|---|
  | 
Истина, если оба значения истинны  | 
a AND b  | 
  | 
Истина, если любое значение истинно  | 
a OR b  | 
  | 
Истина, если значение ложно  | 
NOT a  | 
Влияние NULL на логические операторы#
Оператор AND возвращает NULL, если один из аргументов равен NULL, а другой аргумент равен NULL или TRUE:
SELECT CAST(null AS boolean) AND true; -- null
SELECT CAST(null AS boolean) AND false; -- false
SELECT CAST(null AS boolean) AND CAST(null AS boolean); -- null
Оператор OR возвращает NULL, если один из аргументов равен NULL, а
другой аргумент равен NULL или FALSE:
SELECT CAST(null AS boolean) OR true; -- true
SELECT CAST(null AS boolean) OR false; -- null
SELECT CAST(null AS boolean) OR CAST(null AS boolean); -- null
Таблица истинности AND и OR:
a  | 
b  | 
a AND b  | 
a OR b  | 
|---|---|---|---|
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
NOT NULL возвращает NULL:
SELECT NOT CAST(null AS boolean); -- null
Таблица истинности NOT:
a  | 
NOT a  | 
|---|---|
  | 
  | 
  | 
  | 
  | 
  |