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

Занятие 08. Summary session 2

📁 Блок: SQL / MySQL / Повторение ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение
#case #if #as #concat #left #substring #upper #coalesce #order #by #limit #offset #distinct

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

Повторение блока «Основы SQL». Экспресс-опрос по CASE, алиасам, IF, строковым функциям, ORDER BY, LIMIT, OFFSET и DISTINCT.

  • Закрепляем условную логику и строковые функции.
  • Повторяем ограничение и уникализацию выборки.
  • Решаем задачи, аналогичные практикуму.

Что запомнить: summary session — это возможность выявить пробелы перед переходом к новой теме.

Частая ошибка: путать IF (MySQL) и CASE (стандарт SQL).

📖 Экспресс-опрос

Что такое оператор CASE?

Инструмент для выполнения условной логики в SQL. Работает как if-elif-else в Python. Создаёт новый столбец в выборке, но не меняет исходную таблицу.

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE result_default
END

Что такое алиасы?

Псевдонимы столбцов и таблиц, задаваемые через AS. Упрощают чтение результата, особенно для вычисляемых значений.

SELECT standard_cost * quantity AS total_price
FROM order_details;

Что такое оператор IF?

Функция MySQL для простой бинарной условной логики. Не является стандартом SQL — в PostgreSQL и SQL Server прямого аналога нет.

SELECT IF(standard_cost > 20, 'Expensive', 'Affordable') AS price_category
FROM products;

Что такое строковые функции?

Функции для работы со строками: объединение, извлечение подстрок, изменение регистра, замена, удаление пробелов.

  • CONCAT — объединение строк.
  • LEFT / RIGHT — символы с краёв строки.
  • SUBSTRING — подстрока по позиции и длине.
  • UPPER / LOWER — регистр.
  • COALESCE — первое не-NULL значение.

Что такое ORDER BY?

Оператор сортировки результата по одному или нескольким столбцам. По умолчанию — по возрастанию (ASC).

SELECT product_name, standard_cost
FROM products
ORDER BY standard_cost DESC;

Что такое LIMIT?

Ограничивает количество возвращаемых строк. Часто используется для топ-N и пагинации.

SELECT *
FROM customers
LIMIT 5;

Что такое OFFSET?

Пропускает указанное количество строк от начала результата. Используется с LIMIT для постраничного вывода.

SELECT product_name
FROM products
ORDER BY product_name ASC
LIMIT 10 OFFSET 10;

Что такое DISTINCT?

Удаляет дублирующиеся строки из результата. Применяется к комбинации всех указанных столбцов.

SELECT DISTINCT city
FROM customers;

✨ Современные практики

  • Перед summary session прорешайте задачи практикума ещё раз, но без подглядывания в решения.
  • Если какой-то оператор вызывает затруднение — вернитесь к соответствующему занятию и повторите теорию.
  • Запоминайте разницу между стандартом SQL и спецификой MySQL — это пригодится при переходе на другие СУБД.