Подзапросы SQL к базе данных сотрудников: список сведений о сотрудниках от 3 до 5 класса, принадлежащий SYDNEY
Подзапросы SQL к базе данных сотрудника: упражнение 22 с решением
[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]
22. Напишите запрос в SQL, чтобы перечислить сведения о сотрудниках от 3 до 5 класса и принадлежит SYDNEY. Сотрудники не назначены ПРЕЗИДЕНТОМ, а заработная плата больше, чем у наиболее высокооплачиваемого сотрудника ПЕРТА, где МЕНЕДЖЕР и ПРОДАЖА не работают под KAYLING.
Пример таблицы : сотрудники
Пример таблицы : отдел
Пример таблицы : salary_grade
Пример решения:
SELECT *
FROM employees
WHERE dep_id IN
(SELECT dep_id
FROM department
WHERE department.dep_location ='SYDNEY')
AND emp_id IN
(SELECT 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,
5) )
AND job_name !='PRESIDENT'
AND salary >
(SELECT max(salary)
FROM employees
WHERE dep_id IN
(SELECT dep_id
FROM department
WHERE department.dep_location ='PERTH')
AND job_name IN ('MANAGER',
'SALESMAN')
AND manager_id NOT IN
(SELECT emp_id
FROM employees
WHERE emp_name ='KAYLING'));
Пример вывода:
emp_id | emp_name | job_name | manager_id | hire_date | зарплата | комиссия | dep_id -------- + ---------- + ---------- + ------------ + ------ ------ + --------- + ------------ + -------- 67832 | CLARE | МЕНЕДЖЕР | 68319 | 1991-06-09 | 2550,00 | | 1001 (1 ряд)
Практика онлайн
Структура базы данных сотрудников:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите запрос в SQL, чтобы перечислить сотрудников, которые являются старшими по сравнению с наиболее недавно нанятыми сотрудниками, работающими в KAYLING.
Далее: Напишите запрос в SQL, чтобы перечислить детали старших сотрудников по состоянию на 1991 год.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования