В accounts — счета клиентов с филиалом и балансом. Найдите клиентов, у которых баланс строго выше среднего по ИХ филиалу, и выведите имя, филиал, баланс и средний баланс филиала (округлённый). Подвох: сравнивать надо со средним именно своего филиала (коррелированный подзапрос), есть филиал с единственным клиентом (никогда не выше своего среднего) и ничья по балансу. Сортировка по филиалу, затем по балансу убыванию.
CREATE TABLE accounts (
account_id INTEGER PRIMARY KEY,
client_name TEXT,
branch TEXT,
balance INTEGER
);
subqueries correlated aggregation ties filter
Задача «Клиенты с балансом выше среднего по филиалу» учит использовать подзапросы в WHERE, FROM и SELECT и понимать, когда они уместнее JOIN. Такие задачи встречаются на собеседованиях в Райффайзен и других IT-компаниях. Уровень средний — типичная боевая задача на уверенное владение SQL.
Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).
Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.
Решить в интерактивной SQL-песочнице → ← Все SQL-задачи