SQL-задачи
Потренируй SQL на задачах про сотрудников, отделы, клиентов и заказы. Напиши запрос самостоятельно, затем сравни решение с разбором. В подборке есть объединение таблиц, группировка, оконные функции и запросы к иерархическим данным.
department(id, name); employee(id, name, salary, department_id, manager_id, hired_at); customer(id, name, email); orders(id, customer_id, amount, status, created_at). В условии каждой задачи — нужные колонки, пример данных и ожидаемый результат.
Задачи
- Вторая по величине зарплата (если её нет — NULL)
- Сотрудники, которые зарабатывают больше своего руководителя
- Сотрудники с максимальной зарплатой в каждом отделе
- Топ-3 зарплаты в каждом отделе
- Разница между ROW_NUMBER, RANK и DENSE_RANK
- Найти дублирующиеся email
- Удалить дубликаты, оставив запись с минимальным id
- Клиенты, которые ни разу не делали заказ
- Отделы без сотрудников и количество сотрудников в каждом отделе
- Отделы со средней зарплатой выше средней по компании
- Сумма заказов по месяцам и накопительный итог
- Изменение суммы заказа клиента относительно предыдущего заказа
- Пользователи, делавшие заказы 3 дня подряд
- Количество заказов по статусам: одна строка на клиента (pivot)
- Иерархия подчинения (все подчинённые руководителя)
- Вывести последние 3 заказа каждого клиента — эффективно для большой таблицы