Теория· 5 мин· 10 XP
NOT — отрицание условия
Зачем это нужно
Иногда проще сказать, что НЕ нужно, чем перечислять, что нужно.
Например, «все категории, кроме Прочего». NOT инвертирует условие.
Синтаксис
sql
SELECT колонки
FROM таблица
WHERE NOT условие;
Разбор примеров
sql
-- Всё кроме категории «Прочее» (через NOT)
SELECT name, category
FROM products
WHERE NOT category = 'Прочее'
ORDER BY category, name;
-- То же самое через != (читается проще)
SELECT name, category
FROM products
WHERE category != 'Прочее'
ORDER BY category, name;
NOT со сложными условиями
sql
-- НЕ (Книги дешевле 500)
-- = всё, КРОМЕ дешёвых книг: не-книги остаются любой цены, книги — только от 500 ₽
SELECT name, category, price
FROM products
WHERE NOT (category = 'Книги' AND price < 500);
-- То же самое без NOT — по правилу де Моргана AND меняется на OR,
-- а знаки сравнения инвертируются на противоположные (< становится >=)
SELECT name, category, price
FROM products
WHERE category != 'Книги' OR price >= 500;
Частые ошибки
Лишний NOT усложняет чтение — лучше использовать прямой оператор:
NOT price > 1000 читается хуже, чем price <= 1000.
Запомни
NOT инвертирует условие. Часто можно обойтись без него, используя
противоположный оператор сравнения.
Микро-практика
Замените NOT на прямой оператор:
NOT price > 1000NOT stock = 0NOT category = 'Книги'
Ответы
price <= 1000stock > 0(илиstock != 0)category != 'Книги'
Прочитайте урок до конца — прогресс засчитается автоматически