ОсновыНачальный
CASE WHEN
Условное выражение в SQL — аналог if-else. Возвращает значение в зависимости от условия.
Синтаксис
CASE WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
ENDОбъяснение
CASE WHEN можно использовать в SELECT, WHERE, ORDER BY и внутри агрегатных функций.
Две формы:
1. Searched CASE: CASE WHEN condition THEN value ... END
2. Simple CASE: CASE expression WHEN value THEN result ... END
Пример
SELECT name,
CASE
WHEN score >= 90 THEN 'Отлично'
WHEN score >= 70 THEN 'Хорошо'
WHEN score >= 50 THEN 'Удовлетворительно'
ELSE 'Неудовлетворительно'
END AS grade
FROM students;Связанные термины
Анекдоты по теме
MERGE (апдейт + инсерт) говорит таблице: — Я сейчас либо обновлю тебя, либо вставлю, смотря как повезёт. Таблица: — А если ты не попадаешь в условие? MERGE: — Тогда я просто упаду с ошибкой. Но ты же не захочешь меня откатывать? Это же долго.
DBA объясняет жене: — Дорогая, я как FOREIGN KEY. Я всегда ссылаюсь на тебя — мою PRIMARY KEY. Жена: — А если я удалюсь? DBA: — Тогда я не смогу существовать. Будет ошибка.
— Зачем нужен ORDER BY? — Чтобы база данных не выдавала результаты в случайном порядке. Потому что «случайный» в базе данных — это «как бог на душу положит».