Занятие 05. Условные конструкции: операторы CASE, IF
⚡ Кратко: суть темы
Занятие учит создавать новые столбцы на основе условий. Разбираем оператор CASE, псевдонимы AS, функцию IF в MySQL, математические операции, строковые функции и конкатенацию.
CASE WHEN ... THEN ... ELSE ... END— переносит ветвление в SQL.ASзадаёт понятное имя вычисляемому столбцу.IF(condition, true, false)— короткая альтернатива CASE, но только в MySQL.
Что запомнить: CASE — стандарт SQL и работает почти везде; IF — специфика MySQL.
Частая ошибка: забыть END в конце блока CASE.
🔖 Условные конструкции
| Конструкция | Синтаксис | Примечание |
|---|---|---|
CASE | CASE WHEN ... THEN ... ELSE ... END | стандарт SQL |
IF | IF(condition, true, false) | только MySQL |
AS | expr 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, ...) | первое не-NULL | COALESCE(notes, 'empty') |
Проверить по документации: перечень строковых функций может отличаться в разных СУБД — уточняйте в MySQL, PostgreSQL, SQLite.