ОсновыНачальный
WHERE
Фильтрует строки таблицы по заданному условию. Выполняется до GROUP BY и SELECT.
Синтаксис
SELECT ... FROM table WHERE condition;
Объяснение
WHERE применяется для фильтрации строк до агрегации. В отличие от HAVING, не может ссылаться на агрегатные функции.
В WHERE можно использовать: =, !=, <, >, <=, >=, BETWEEN, IN, LIKE, IS NULL, IS NOT NULL, AND, OR, NOT.
Пример
-- Несколько условий SELECT * FROM orders WHERE status = 'paid' AND created_at >= '2024-01-01' AND total BETWEEN 100 AND 1000;
Связанные термины
Анекдоты по теме
— Почему запрос SELECT * FROM users чувствует себя неуверенно? — Потому что он не знает, кого именно из себя изображать. Всех и сразу — это не профайл.
Начинающий: — Я выучил SQL за неделю! Опытный: — Поздравляю. Ты выучил SELECT, INSERT, UPDATE, DELETE. Осталось лет 5 на JOIN, индексы, транзакции и почему NULL — это зло. Удачи.
— Можно ли использовать CTE для UPDATE? — Да: WITH to_update AS ( SELECT id FROM orders WHERE status = 'pending' AND created_at < NOW() - INTERVAL '7 days' ) UPDATE orders SET status = 'expired' WHERE id IN (SELECT id FROM to_update); — Читаемо! — И безопасно — сначала видишь что будет обновлено.