← К оглавлению занятия

Занятие 05. Условные конструкции: операторы CASE, IF

📁 Блок: SQL / MySQL ⏱️ Время изучения: ~60 мин 🎯 Сложность: Начальная
#case #if #as #concat #left #right #substring #length #trim #replace #upper #lower #coalesce

⚡ Кратко: суть темы

Занятие учит создавать новые столбцы на основе условий. Разбираем оператор CASE, псевдонимы AS, функцию IF в MySQL, математические операции, строковые функции и конкатенацию.

  • CASE WHEN ... THEN ... ELSE ... END — переносит ветвление в SQL.
  • AS задаёт понятное имя вычисляемому столбцу.
  • IF(condition, true, false) — короткая альтернатива CASE, но только в MySQL.

Что запомнить: CASE — стандарт SQL и работает почти везде; IF — специфика MySQL.

Частая ошибка: забыть END в конце блока CASE.

🔖 Условные конструкции

КонструкцияСинтаксисПримечание
CASECASE WHEN ... THEN ... ELSE ... ENDстандарт SQL
IFIF(condition, true, false)только MySQL
ASexpr AS aliasалиас необязателен

🔖 Строковые функции

ФункцияОписаниеПример
CONCAT(s1, s2, ...)объединение строкCONCAT(first_name, ' ', last_name)
LEFT(str, n)n символов слеваLEFT(name, 5)
RIGHT(str, n)n символов справаRIGHT(name, 2)
SUBSTRING(str, p, n)подстрокаSUBSTRING(phone, 6, 3)
LENGTH(str)длина в байтахLENGTH(name)
TRIM(str)удалить пробелы с обеих сторонTRIM(' a ')
REPLACE(str, o, n)замена подстрокиREPLACE(name, 'Pen', 'Marker')
UPPER(str)верхний регистрUPPER('sql')
LOWER(str)нижний регистрLOWER('SQL')
COALESCE(a, b, ...)первое не-NULLCOALESCE(notes, 'empty')

Проверить по документации: перечень строковых функций может отличаться в разных СУБД — уточняйте в MySQL, PostgreSQL, SQLite.

Полный справочник

→ Справочник SQL