CohortX
Блог

Пятнадцать запросов SQL, которые спросят на собеседовании

2 августа 2026 г. · 2 мин чтения · Read in English · Антон Молотило

Как готовиться

Не заучивайте запросы. Заведите базу с таблицами пользователей, заказов и товаров, наполните её вручную и решайте на ней. Понимание держится в голове, заученное — нет.

Все задачи ниже разбираются в пределах базового уровня.

Пятнадцать задач

1. Все записи с условием. Выбрать заказы за последний месяц. Проверяет: умение работать с датами.

2. Сортировка и ограничение. Десять самых дорогих заказов. Проверяет: сортировку по убыванию и ограничение выборки.

3. Уникальные значения. Список городов, из которых были заказы, без повторов. Проверяет: знание отбора уникальных значений.

4. Количество. Сколько всего заказов у пользователя. Проверяет: подсчёт с условием.

5. Группировка. Сколько заказов у каждого пользователя. Проверяет: понимание группировки. Классическая ошибка — вывести колонку, которой нет ни в группировке, ни в подсчёте.

6. Условие после группировки. Пользователи, у которых больше пяти заказов. Проверяет: разницу между условием до группировки и после. Одна из самых частых ошибок.

7. Объединение двух таблиц. Список заказов с именами пользователей. Проверяет: внутреннее объединение.

8. Левое объединение. Все пользователи и количество заказов, включая тех, у кого их нет. Проверяет: понимание, зачем нужно левое объединение. Ключевая задача.

9. Поиск отсутствующих. Пользователи, которые не сделали ни одного заказа. Проверяет: левое объединение с проверкой на пустоту либо отрицание вхождения.

10. Сумма по группам. Общая сумма заказов по каждому городу. Проверяет: сочетание объединения, группировки и подсчёта.

11. Среднее. Средний чек по каждому месяцу. Проверяет: группировку по вычисляемому значению.

12. Максимум в группе. Последний заказ каждого пользователя. Проверяет: умение думать. Решается несколькими способами, любой рабочий подойдёт.

13. Обновление с условием. Пометить заказы старше года как архивные. Проверяет: осторожность. Обязательно уточните вслух, что без условия обновится вся таблица.

14. Удаление с условием. Удалить незавершённые заказы старше месяца. Проверяет: то же самое плюс понимание последствий.

15. Три таблицы. Пользователь, заказ и товары в заказе — вывести, кто что купил. Проверяет: умение соединить больше двух таблиц.

Где новички ошибаются

Путают условия до и после группировки. Отбор строк и отбор групп — разные вещи.

Забывают, что при объединении могут появиться дубли. Если у пользователя пять заказов, он встретится в результате пять раз.

Пытаются считать после объединения без группировки. Получается число по всей таблице, а не по пользователю.

Не думают о пустых значениях. Сравнение с пустым значением работает не так, как кажется: нужна отдельная проверка.

Что говорить, если не знаете

То же, что и в любой задаче: рассуждайте вслух. «Тут нужно соединить две таблицы, потом сгруппировать по пользователю и посчитать. Не помню точный синтаксис отбора групп, но логика такая». Это оценивается выше молчания.

Хватит читать — пора делать

На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.

Похожие статьи