Занятие 08. Summary session 2
⚡ Кратко: суть темы
Повторение блока «Основы 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 — это пригодится при переходе на другие СУБД.