кодесурса
«SQL

Подзапросы SQL к базе данных сотрудника: перечислите сотрудников, чья зарплата меньше, чем зарплата его менеджера, но больше, чем зарплата любого другого менеджера

script1adsense2code
script1adsense3code

Подзапросы SQL к базе данных сотрудника: Упражнение 36 с решением

[ Внизу страницы доступен редактор для написания и выполнения сценариев. ]

36. Напишите запрос в SQL, чтобы перечислить сотрудников, чья зарплата меньше, чем зарплата его менеджера, но больше, чем зарплата любого другого менеджера.

Пример таблицы : сотрудники


Пример решения:

SELECT *
FROM employees w,
     employees m
WHERE w.manager_id = m.emp_id
  AND w.salary < m.salary
  AND w.salary > ANY
    (SELECT salary
     FROM employees
     WHERE emp_id IN
         (SELECT manager_id
          FROM employees));

ИЛИ ЖЕ

SELECT DISTINCT W.emp_id,
                W.emp_name,
                W.salary
FROM
  (SELECT w.emp_id,
          w.emp_name,
          w.salary
   FROM employees w,
        employees m
   WHERE w.manager_id = m.emp_id
     AND w.salary<m.salary) W,
  (SELECT *
   FROM employees
   WHERE emp_id IN
       (SELECT manager_id
        FROM employees)) A
WHERE W.salary > A.salary;

Пример вывода:

 emp_id | emp_name | job_name | manager_id | hire_date | зарплата | комиссия | dep_id | emp_id | emp_name | job_name | manager_id | hire_date | зарплата | комиссия | dep_id
-------- + ---------- + ---------- + ------------ + ------ ------ + --------- + ------------ + -------- + -------- + - -------- + ----------- + ------------ + ------------ + --- ------ + ------------- + --------
  66928 | BLAZE | МЕНЕДЖЕР | 68319 | 1991-05-01 | 2750,00 | | 3001 | 68319 | КАЙЛИНГ | ПРЕЗИДЕНТ | | 1991-11-18 | 6000,00 | | 1001
  65646 | ЙОНАС | МЕНЕДЖЕР | 68319 | 1991-04-02 | 2957,00 | | 2001 | 68319 | КАЙЛИНГ | ПРЕЗИДЕНТ | | 1991-11-18 | 6000,00 | | 1001
(2 ряда)

Практика онлайн


Структура базы данных сотрудников:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Написать запрос на SQL, чтобы перечислить менеджеров, чья зарплата превышает среднюю зарплату его сотрудников
Далее: Напишите запрос в SQL, чтобы перечислить имя и среднюю зарплату сотрудников в отделе.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code