Базы данных / SQL junior
CASE WHEN — для условных значений?
Ответ
SELECT name, CASE WHEN balance > 100000 THEN 'VIP' WHEN balance > 10000 THEN 'Standard' ELSE 'Basic' END AS category FROM accounts. Для AQA: CASE WHEN удобен в SQL-проверках — классифицировать данные без Java-логики.
Разбор: Поисковая форма CASE WHEN <условие> THEN <значение> ... ELSE ... END — стандарт ANSI SQL и работает во всех СУБД для классификации строк без логики на стороне приложения. Ловушки: IF с произвольным числом условий и SWITCH не входят в стандарт (IF в MySQL принимает только три аргумента, SWITCH — это не SQL); а в простой форме CASE balance WHEN ... нельзя ставить операторы сравнения после WHEN, только конкретные значения.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.