Вступить в клуб →
лёгкаявопросSQL и проверка данных

Заявки со статусом NULL не попали в выборку по условию неравенства

Вы проверяете, сколько заявок ещё не оплачено:

SELECT count(*) FROM applications WHERE status <> 'paid';

Запрос вернул 480. При этом вы точно знаете, что в таблице есть заявки, у которых поле status пустое — там записан NULL, и в выборку они не попали.

Почему так вышло?

  • NULL хранится в базе как пустая строка, поэтому условие нужно писать в виде status <> '' — тогда такие заявки попадут в выборку
  • Условие корректно, значит заявок со статусом NULL в таблице на самом деле нет
  • Оператор <> в PostgreSQL работает иначе, для таких проверок нужно писать !=
  • Сравнение с NULL не даёт истину, строка не проходит условие; нужно добавить OR status IS NULL

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела