Практический курс по SQL для начинающих - #2 Базовые SELECT запросы
NOT NULL и значения по умолчанию - Учим SQL на примере Postgres
В SQL есть специальное значение NULL, которое означает, что данных нет. Любой тип данных может хранить NULL, если мы не запретим ему это. Чтобы записать в ячейку значение NULL, не надо пытаться ввести его с клавиатуры - в этом случае получится текст '<null>', а не отсутствие данных. В меню ячеек (на правую кнопку мыши) есть пункт "Set NULL". Какие колонки, по логике, могут хранить NULL, а какие - не могут? Например, отчества может не быть, поэтому колонка отчества может хранить NULL. Фамилия, имя и дата рождения есть всегда, поэтому эти колонки не могут хранить NULL...
🔹 NULL: не баг, а состояние
🔹 Как работать с NULL в SQL (Structured Query Language)? 🔸 NULL обозначает отсутствие или неизвестность значения. Без него вы не отличите "пустую строку" от "нет данных", и это ломает подсчёты, джойны и логические проверки. 🔸 Для проверки используйте IS NULL / IS NOT NULL. Сравнение с = NULL не работает — возвращает NULL, а не true/false, и даёт неверные результаты. 🔸 COALESCE возвращает первый ненулевой аргумент и подставляет дефолт вместо сложных CASE-ов — удобно при выдаче значений по умолчанию...