Ми маємо таблицю співробітників з їхніми зарплатами та ідентифікаторами менеджерів, і завдання полягає у тому, щоб знайти співробітників, які заробляють більше за своїх менеджерів.
Для цього створюється запит, в якому використовується вкладений запит для порівняння зарплат співробітників і їхніх менеджерів. Спочатку ми вибираємо ім’я співробітника з таблиці, а потім перевіряємо, чи перевищує його зарплата зарплату його менеджера, яка береться з іншого рядка тієї ж таблиці.
Щоб знайти правильний результат, потрібно виконати такий SQL-запит:
SELECT name as Employee
from Employee e1 where
salary > (select salary from Employee where id=e1.managerId)
Цей код дозволяє вибрати всіх співробітників, чиї зарплати більше, ніж у їхніх менеджерів. Потрібно лише застосувати вкладений запит, щоб вибрати зарплату менеджера для кожного співробітника і порівняти її з його власною.
Розв'язок простий і ефективний, оскільки ми використовуємо стандартні методи порівняння в SQL через вкладені запити, що дозволяє швидко отримати потрібну інформацію з бази даних.
Перекладено з: LeetCode Problem 181: Employees Earning More Than Their Managers