Базы данных. Основы SQL реляционных баз данных. Копейкин М.В - 55 стр.

UptoLike

что значение данного поля в данный момент может быть не обозначено. При выводе на
экран NULL значения каждая СУБД использует свои механизмы показа таких значений.
Например, может быть выведено “NULL” в соответствующей строке столбца, для
которого значение неизвестно [25, 28, 29], или какая-либо другая информация, не
противоречащая здравому смыслу.
Работа с NULL значениями
Часто бывает, что
записи в таблице имеют какие-то незаполненные поля,
например, потому что ввод информации не завершен или потому что это поле просто не
заполнялось. SQL учитывает такой вариант, позволяя Вам вводить значение NULL
(ПУСТОЙ) в поле, вместо значения. Когда значение поля равно NULL, это означает, что
программа базы данных специально промаркировала это поле как
не имеющее никакого
значения для этой строки (или записи). Это отличается от просто назначения полю
значения нуля или пробела, которые база данных будет обрабатывать так же, как и
любое другое значение. Точно так же, как NULL не является техническим значением,
оно не имеет и типа данных. Оно может помещаться в любой
тип поля. Тем не менее
NULL в SQL часто упоминается как нуль.
Предположим, что вы приняли нового сотрудника в отдел. Естественно, что поле с
Годом_увольнения у такой записи в данный момент будет не заполнено. Вы можете
заполнить это поле только в том случае, если сотрудник уволится. В данный момент
времени данное
поле будет иметь NULL значение.
NULL ОПЕРАТОР
Так как NULL указывает на отсутствие значения, вы не можете знать, каков будет
результат любого сравнения с использованием NULL. Когда NULL сравнивается с
любым значением, даже с другим таким же NULL, результат будет ни верным, ни
неверным, он неизвестен.
Заметим, что поскольку SQL допускает наличие в базе данных неопределенных
значений
, то вычисление условия поиска производится не в булевой, а в трехзначной
логике со значениями true, false и unknown (неизвестно). Для любого предиката известно,
в каких ситуациях он может порождать значение unknown. Булевские операции AND, OR
и NOT работают в трехзначной логике следующим образом:
true AND unknown = unknown,