Подзапросы SQL для сотрудника База данных: найдите последние нанятые emp в каждом заказе отдела по hire_date
Подзапросы SQL к базе данных сотрудника: упражнение 52 с решением
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
52. Напишите запрос в SQL, чтобы найти последние нанятые emp в каждом заказе отдела по hire_date.
Пример таблицы : сотрудники
Пример решения:
SELECT *
FROM employees e
WHERE hire_date IN
(SELECT max(hire_date)
FROM employees
WHERE e.dep_id = dep_id )
ORDER BY hire_date DESC;
Пример вывода:
emp_id | emp_name | job_name | manager_id | hire_date | зарплата | комиссия | dep_id -------- + ---------- + ----------- + ------------ + ----- ------- + --------- + ------------ + -------- 68319 | КАЙЛИНГ | ПРЕЗИДЕНТ | | 1991-11-18 | 6000,00 | | 1001 67858 | Скарлет | АНАЛИТИК | 65646 | 1997-04-19 | 3100,00 | | 2001 69062 | Фрэнк | АНАЛИТИК | 65646 | 1991-12-03 | 3100,00 | | 2001 65646 | ЙОНАС | МЕНЕДЖЕР | 68319 | 1991-04-02 | 2957,00 | | 2001 64989 | АДЕЛЫН | ПРОДАВЕЦ | 66928 | 1991-02-20 | 1700,00 | 400,00 | 3001 69324 | МАРКЕР | КЛЕРК | 67832 | 1992-01-23 | 1400,00 | | 1001 (6 рядов)
Практика онлайн
Структура базы данных сотрудников:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос в SQL, чтобы найти всех сотрудников, которые получают самую высокую зарплату за назначение, и расположите список в порядке убывания зарплаты.
Далее: напишите запрос в SQL, чтобы перечислить имя, зарплату и идентификатор отдела для каждого сотрудника, который получает заработную плату, превышающую среднюю зарплату для своего отдела, и вывести результат в порядке возрастания по идентификатору отдела.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования