ОсновыНачальный
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;Связанные термины
Анекдоты по теме
— Почему запрос SELECT * FROM users чувствует себя неуверенно? — Потому что он не знает, кого именно из себя изображать. Всех и сразу — это не профайл.
— Что такое TOAST в PostgreSQL? — Это механизм хранения больших значений. Если строка не помещается в страницу — данные выносятся в отдельное хранилище. — Аппетитное название. — The Oversized-Attribute Storage Technique. Программисты умеют в аббревиатуры.
— Зачем нужен ORDER BY? — Чтобы база данных не выдавала результаты в случайном порядке. Потому что «случайный» в базе данных — это «как бог на душу положит».