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;Связанные термины
Анекдоты по теме
— Как изменить тип колонки в PostgreSQL? — ALTER TABLE orders ALTER COLUMN amount TYPE NUMERIC(15,2); — А если таблица большая? — PostgreSQL перепишет всю таблицу. На время — ACCESS EXCLUSIVE LOCK. — Как сделать без простоя? — Добавить новую колонку, мигрировать данные батчами, переключить приложение, удалить старую.
Начинающий: — Я выучил SQL за неделю! Опытный: — Поздравляю. Ты выучил SELECT, INSERT, UPDATE, DELETE. Осталось лет 5 на JOIN, индексы, транзакции и почему NULL — это зло. Удачи.
DBA объясняет жене: — Дорогая, я как FOREIGN KEY. Я всегда ссылаюсь на тебя — мою PRIMARY KEY. Жена: — А если я удалюсь? DBA: — Тогда я не смогу существовать. Будет ошибка.