SQL: Один NULL в списке, и NOT IN возвращает ноль строк WHERE id NOT… — SQL и Анализ данных — TG.ME

SQL: Один NULL в списке, и NOT IN возвращает ноль строк


WHERE id NOT IN (1, 2, NULL) раскрывается в id <> 1 AND id <> 2 AND id <> NULL. Последнее сравнение всегда даёт UNKNOWN, а WHERE пропускает только TRUE, поэтому запрос молча возвращает пустой результат. Одно неизвестное значение отравляет весь фильтр. Если в подзапросе возможен NULL, бери NOT EXISTS: он на NULL не ломается и читается понятнее, чем костыль с IS NOT NULL.

#sql #deathnote
👍9❤2🔥1
August 28, 2026 1K 3 12