Подзапросы SQL к сотруднику База данных: список результатов в порядке возрастания опыта
Подзапросы SQL к базе данных сотрудника: упражнение 15 с решением
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
15. Напишите запрос на языке SQL, чтобы перечислить сотрудников 3 и 4 классов, работающих в отделе финансов или аудита, чья зарплата больше, чем зарплата в ADELYN, а опыт работы выше, чем во ФРАНК. Перечислите результат в порядке возрастания опыта.
Пример таблицы : сотрудники
Пример таблицы : отдел
Пример таблицы : salary_grade
Пример решения:
SELECT *
FROM employees e
WHERE e.dep_id IN
(SELECT d.dep_id
FROM department d
WHERE d.dep_name IN ('FINANCE',
'AUDIT') )
AND e.salary >
(SELECT salary
FROM employees
WHERE emp_name ='ADELYN')
AND e.hire_date <
(SELECT hire_date
FROM employees
WHERE emp_name ='FRANK')
AND e.emp_id IN
(SELECT e.emp_id
FROM employees e,
salary_grade s
WHERE e.salary BETWEEN s.min_sal AND s.max_sal
AND s.grade IN (3,
4) )
ORDER BY e.hire_date ASC;
Пример вывода:
emp_id | emp_name | job_name | manager_id | hire_date | зарплата | комиссия | dep_id -------- + ---------- + ---------- + ------------ + ------ ------ + --------- + ------------ + -------- 65646 | ЙОНАС | МЕНЕДЖЕР | 68319 | 1991-04-02 | 2957,00 | | 2001 67832 | CLARE | МЕНЕДЖЕР | 68319 | 1991-06-09 | 2550,00 | | 1001 (2 ряда)
Практика онлайн
Структура базы данных сотрудников
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос в SQL, чтобы перечислить сотрудников, которые старше BLAZE и работают в PERTH или BRISBANE.
Далее: напишите запрос в SQL, чтобы перечислить сотрудников, чье назначение совпадает с обозначением SANDRINE или ADELYN.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования