CASE WHEN
Условное выражение в SQL — аналог if-else. Возвращает значение в зависимости от условия.
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
ENDОбъяснение
Пример
SELECT name,
CASE
WHEN score >= 90 THEN 'Отлично'
WHEN score >= 70 THEN 'Хорошо'
WHEN score >= 50 THEN 'Удовлетворительно'
ELSE 'Неудовлетворительно'
END AS grade
FROM students;Связанные термины
Анекдоты по теме
— Что такое LISTEN/NOTIFY? — Механизм pub/sub внутри PostgreSQL. — Пример? — LISTEN new_orders; — В другой сессии: NOTIFY new_orders, 'order_id=42'; — Первая сессия мгновенно получает уведомление. — Зачем, если есть Redis? — Если уже используешь PostgreSQL — зачем добавлять Redis только для уведомлений?
Программист: я просто хотел удалить одну строку. База данных: ты удалил 2 миллиона. Программист: но я написал WHERE... База данных: WHERE 1=1 — это не условие.
— Что такое вторая нормальная форма? — Нет частичной зависимости от составного ключа. — Пример нарушения? — Таблица orders(order_id, product_id, product_name). product_name зависит только от product_id, не от всего ключа. — Как исправить? — Вынести product_name в таблицу products.