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

Занятие 29. Отработка основных операторов. Часть 1

📁 Блок: SQL / MySQL / Повторение и закрепление ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя
#order #by #limit #offset #select #distinct #group #having #join #union

⚡ Кратко: примеры

  • Топ-10 самых дорогих продуктов.
  • Уникальные города клиентов.
  • Средняя выручка по категориям.
  • Заказы с именами клиентов через JOIN.

💻 Рабочие примеры

Пример 1. Сортировка и ограничение

USE northwind;

SELECT product_name, unit_price
FROM products
ORDER BY unit_price DESC
LIMIT 10;

Выбирает 10 самых дорогих продуктов. Сортировка выполняется перед ограничением.

Пример 2. Постраничный вывод

USE northwind;

SELECT product_name, unit_price
FROM products
ORDER BY product_name
LIMIT 10 OFFSET 20;

Пропускает первые 20 строк и возвращает следующие 10 — третья страница при размере страницы 10.

Пример 3. Уникальные значения

USE northwind;

SELECT DISTINCT city FROM customers;

SELECT COUNT(DISTINCT city) AS unique_cities
FROM customers;

Пример 4. Агрегация и группировка

USE northwind;

SELECT c.category_name,
       COUNT(p.id) AS product_count,
       AVG(p.unit_price) AS avg_price
FROM categories AS c
JOIN products AS p ON c.id = p.category_id
GROUP BY c.category_name;

Пример 5. Фильтрация групп через HAVING

USE northwind;

SELECT c.category_name, COUNT(p.id) AS product_count
FROM categories AS c
JOIN products AS p ON c.id = p.category_id
GROUP BY c.category_name
HAVING COUNT(p.id) > 5;

Пример 6. Объединение запросов через UNION ALL

USE northwind;

SELECT company FROM customers
UNION ALL
SELECT company FROM suppliers
UNION ALL
SELECT company FROM shippers;