Часто в таблице могут появляться записи, в которых нет значений в одном или нескольких полях потому, что данных в этом поле и не должно быть, или потому, что это поле просто не заполнялось. Язык SQL позволяет вводить маркер NULL (ПУСТОЙ) в поле записи. Маркер NULL может помещаться в любой тип поля.
Так как NULL указывает на отсутствие значения, результат сравнения с использованием NULL неизвестен. В языке SQL неизвестное значение предиката приравнивается к неистинному в момент принятия решения о выводе строки ответа. Но в случае применения операции NOT к неизвестному значению предиката результат считается неизвестным и строка по-прежнему не выводится.
Чтобы различать неистинное и неизвестное, язык SQL предоставляет специальный оператор IS NULL для указания на значение NULL.
Пример
Найдем все записи в таблице Student с NULL-значениями в столбце „adres”:
SELECT * FROM "Student" WHERE "adres" [ NOT ] IS NULL