SQLab
УчёбаПрактикаЗадачиАренаРейтинг
© 2026 SQLab · Ташкент
SQLab

Учите SQL прямо в браузере — ничего не нужно устанавливать.

Платформа

  • Учёба
  • Практика
  • Задачи
  • Арена
  • Рейтинг

Для кого

  • Студентам
  • Преподавателям
  • Университетам
© 2026 SQLab. Все права защищены.Сделано в Узбекистане для студентов.
УчёбаПрактикаЗадачиАренаРейтинг
0/26

Основы

  • Что такое база данных?
  • Первый SELECT
  • WHERE: отбор нужных строк
  • IN, BETWEEN, LIKE и NULL
  • Сортировка, LIMIT и DISTINCT

Вычисления

  • Выражения, функции и CASE
  • Работа с датами
  • COUNT, SUM, AVG, MIN, MAX
  • GROUP BY и HAVING

Соединение таблиц

  • Ключи и связи
  • INNER JOIN
  • LEFT JOIN и строки без пары
  • Несколько таблиц и self join

Сложные запросы

  • Подзапросы
  • UNION, INTERSECT, EXCEPT
  • WITH: именованные запросы
  • Оконные функции

Создание и изменение таблиц

  • CREATE TABLE: типы и ограничения
  • INSERT, UPDATE, DELETE
  • ALTER, DROP, TRUNCATE
  • Как правильно спроектировать базу

Профессиональный уровень

  • Индексы и EXPLAIN
  • Транзакции и ACID
  • VIEW: сохранённые запросы
  • Функции, процедуры, триггеры
  • Пользователи, права и резервные копии
Учёба/Вычисления

COUNT, SUM, AVG, MIN, MAX

087 мин

«Сколько всего студентов?», «какой средний балл?», «сколько стоит самый дорогой товар?» — такие вопросы превращают много строк в одно число. Для этого есть агрегатные функции.

Пять основных функций

Функция Что делает
COUNT(*) количество строк
SUM(столбец) сумма
AVG(столбец) среднее
MIN(столбец) минимум
MAX(столбец) максимум
university· Попробуйте изменить
SELECT COUNT(*) AS students FROM students;
university· Попробуйте изменить
SELECT MIN(score), MAX(score), ROUND(AVG(score), 1) FROM grades;

Вместе с WHERE

Сначала отбираются строки, потом считается:

university· Попробуйте изменить
SELECT COUNT(*) FROM students WHERE funding = 'grant';

COUNT(*), COUNT(столбец) и COUNT(DISTINCT …)

  • COUNT(*) — все строки;
  • COUNT(phone) — только строки, где phone не пустой;
  • COUNT(DISTINCT city) — сколько разных городов.
university· Попробуйте изменить
SELECT COUNT(*) AS all_rows, COUNT(phone) AS with_phone, COUNT(DISTINCT city) AS cities FROM students;

Агрегаты не учитывают NULL: AVG(scholarship) даст среднее только по тем, кто получает стипендию.

Важное правило

Агрегат и обычный столбец нельзя просто поставить рядом:

SELECT city, COUNT(*) FROM students;   -- ошибка!

База не знает, какой city показать: строка в результате одна, а городов много. Чтобы посчитать для каждого города отдельно, нужен GROUP BY. Это следующий урок.

1Упражнение

Сколько всего товаров в магазине и какова их средняя цена? Два столбца: количество и средняя цена, округлённая до целого.


2Упражнение

Какова общая выручка (сумма fare) по завершённым (status = 'completed') поездкам?


Запомните

  • COUNT, SUM, AVG, MIN, MAX — одно значение из многих строк.
  • Агрегаты пропускают NULL; COUNT(*) считает все строки.
  • Нужны и обычный столбец, и агрегат — значит, нужен GROUP BY.
Предыдущий урокРабота с датамиСледующий урокGROUP BY и HAVING

Содержание

  • Пять основных функций
  • Вместе с WHERE
  • COUNT(*), COUNT(столбец) и COUNT(DISTINCT …)
  • Важное правило
  • Запомните
УчёбаПрактикаЗадачиАренаРейтинг

SQLab