В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Начните с клиентов и присоедините агрегат транзакций через LEFT JOIN. Отсутствующую сумму замените на 0; фильтр по дате оставьте внутри агрегата или ON.
Первый запрос соединяет строку t1 со всеми более ранними датами t2. Запрос с RANK выбирает всех сотрудников с максимальной зарплатой в своём подразделении.
Для отклонения зарплаты используйте AVG по должности, для особой сортировки — CASE. Различия DEPT и DEPT2 выявляются FULL JOIN и сравнением атрибутов с учётом NULL.
Отфильтруйте транзакции за нужный день и соедините их с версией клиента, действовавшей в момент операции. Границы дня и периода лучше делать полуоткрытыми.