Подзапросы SQL к сотруднику База данных: укажите имя, зарплату и идентификатор отдела для каждого сотрудника, который получает заработную плату, превышающую среднюю зарплату для своего отдела, и укажите результат в порядке возрастания по идентификатору отдела.
Подзапросы SQL к базе данных сотрудника: упражнение 53 с решением
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
53. Напишите запрос в SQL, чтобы перечислить имя, зарплату и идентификатор отдела для каждого сотрудника, который получает заработную плату, превышающую среднюю зарплату для своего отдела, и вывести результат в порядке возрастания по идентификатору отдела.
Пример таблицы : сотрудники
Пример решения:
SELECT e.emp_name,
e.salary,
e.dep_id
FROM employees e
WHERE salary >
(SELECT avg(salary)
FROM employees
WHERE e.dep_id = dep_id )
ORDER BY dep_id;
ИЛИ ЖЕ
SELECT e.emp_name,
e.salary,
e.dep_id
FROM employees e,
(SELECT avg(salary) A,
dep_id D
FROM employees
GROUP BY dep_id) D1
WHERE D1.D = e.dep_id
AND e.salary > D1.A;
Пример вывода:
emp_name | зарплата | dep_id ---------- + --------- + -------- КАЙЛИНГ | 6000,00 | 1001 ЙОНАС | 2957,00 | 2001 Скарлет | 3100,00 | 2001 Фрэнк | 3100,00 | 2001 BLAZE | 2750,00 | 3001 АДЕЛЫН | 1700,00 | 3001 (6 рядов)
Практика онлайн
Структура базы данных сотрудников:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос в SQL, чтобы найти последние нанятые emp в каждом заказе отдела по hire_date.
Далее: Написать запрос в SQL, чтобы найти имя и назначение сотрудников, которые получают комиссию и зарплата является максимальной
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования