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: сохранённые запросы
  • Функции, процедуры, триггеры
  • Пользователи, права и резервные копии
Учёба/Основы

Сортировка, LIMIT и DISTINCT

057 мин

База возвращает строки без какого-либо гарантированного порядка. Чтобы отсортировать результат, взять первые несколько строк или убрать повторы, есть три команды.

ORDER BY — сортировка

university· Попробуйте изменить
SELECT first_name, last_name, salary FROM teachers ORDER BY salary;

По умолчанию — по возрастанию (ASC). По убыванию — DESC:

university· Попробуйте изменить
SELECT first_name, last_name, salary FROM teachers ORDER BY salary DESC;

По нескольким столбцам: сначала по первому, при равенстве — по второму.

university· Попробуйте изменить
SELECT last_name, first_name, course FROM students ORDER BY course DESC, last_name;

LIMIT — только первые N строк

«Три преподавателя с самой высокой зарплатой»:

university· Попробуйте изменить
SELECT first_name, last_name, salary FROM teachers ORDER BY salary DESC LIMIT 3;

Используйте LIMIT всегда вместе с ORDER BY — иначе «какие именно 3» попадут в результат, решит случай.

Для следующей «страницы» есть OFFSET: LIMIT 3 OFFSET 3 — 4-я, 5-я и 6-я строки.

DISTINCT — без повторов

Из каких городов приехали студенты?

university· Попробуйте изменить
SELECT DISTINCT city FROM students ORDER BY city;

DISTINCT применяется ко всей строке: SELECT DISTINCT city, course — разные пары «город + курс».

Где окажется NULL?

PostgreSQL при сортировке считает NULL самым большим значением: при возрастании он в конце, при DESC — в начале. Это можно изменить: ORDER BY scholarship DESC NULLS LAST.

Порядок частей запроса

Части всегда пишутся в таком порядке:

SELECT … FROM … WHERE … ORDER BY … LIMIT …;
1Упражнение

Выведите name и price пяти самых дешёвых товаров по возрастанию цены. При равной цене — по названию в алфавитном порядке.


2Упражнение

Выведите без повторов, какие бренды есть среди товаров (brand).


Запомните

  • ORDER BY столбец [DESC] — сортировка; несколько столбцов через запятую.
  • LIMIT n — первые n строк; всегда вместе с ORDER BY.
  • DISTINCT убирает повторы.
Предыдущий урокIN, BETWEEN, LIKE и NULLСледующий урокВыражения, функции и CASE

Содержание

  • ORDER BY — сортировка
  • LIMIT — только первые N строк
  • DISTINCT — без повторов
  • Где окажется NULL?
  • Порядок частей запроса
  • Запомните
УчёбаПрактикаЗадачиАренаРейтинг

SQLab