Модуль 02 · урок 7

IS NULL: фільтруємо порожні значення

Контент-менеджер має знайти товари без категорії, щоб їх дозаповнити. Звичайне порівняння = NULL чомусь нічого не повертає.

Чому = NULL не працює

NULL означає «значення невідоме». А порівняння з невідомим дає не true/false, а «невідомо» — тому такий рядок ніколи не проходить фільтр. Через це WHERE category = NULL завжди дає порожній результат (типова пастка новачків).

IS NULL / IS NOT NULL

Для NULL є окремі оператори:

  • IS NULL — значення відсутнє;
  • IS NOT NULL — значення є.
SELECT name 
FROM products
WHERE category IS NOT NULL;   -- лише товари з категорією

Це єдиний правильний спосіб працювати з порожніми значеннями.

Твоя черга

Контент-менеджеру потрібні товари без категорії, щоб їх дозаповнити. Виведи name і category таких товарів.

Підсумок

  • Порожні значення ловлять через IS NULL / IS NOT NULL, ніколи через = NULL.