В SQL NULL представляет отсутствующее, неизвестное или неприменимое значение. Это кардинально отличается от других пустых на вид значений, таких как нуль (0) или пустая строка ('').
0) — допустимое числовое значение, которое явно означает «ничего» в количественном смысле'') — допустимое текстовое значение, которое не содержит символовСамое важное правило: NULL не равен ничему, включая самого себя.
NULL = NULL → даёт NULL (не TRUE)
NULL = 0 → даёт NULL (не FALSE)
Это означает, что стандартные операторы сравнения (=, !=, <) никогда не вернут TRUE при сравнении с NULL.
Для правильной проверки значений NULL используй специальные операторы IS NULL или IS NOT NULL:
WHERE column IS NULL — находит строки с отсутствующими значениямиWHERE column IS NOT NULL — находит строки с фактическими значениямиSUM() и AVG() автоматически игнорируют NULL-значенияCOALESCE(column, default_value) для подстановки значения по умолчанию, когда встречается NULLВыражение NULL = NULL вычисляется в TRUE, потому что обе стороны представляют одно и то же неопределённое значение.
Новый — ещё не проверен сообществом
Вы