2016-11-23 4 views
-3

Я должен написать следующие запросы к следующей базе:запросов к базе данных университета

University Database Запросов являются:

  1. Для каждого отдела, найти максимальную зарплату преподавателей в этом отделе. Вы можете предположить, что в каждом отделе есть как минимум один инструктор.
  2. Найти наименьшую по всем отделам максимальную зарплату за один отдел, рассчитанную предыдущим запросом.

Мне удалось сделать первый, но я застрял на втором. То, что я пытался сделать, это получить результат от первого запроса и запросить подзапрос, чтобы получить результат для второго вопроса.

вот мой код:

SELECT DEPT_NAME, MIN(SALARY) 
    FROM instructor 
    WHERE DEPT_NAME IN 
    (SELECT DEPT_NAME, MAX(SALARY) 
    FROM instructor 
    GROUP BY DEPT_NAME); 

Я пробовал разные варианты, но я не могу заставить его работать.

+5

Это выглядит как домашнее задание, что вы пробовали? – JSR

+0

Добавьте пример данных таблицы и ожидаемый результат - также форматированный текст. – jarlh

+2

Пожалуйста, покажите в своем вопросе, что вы на самом деле _tried_, чтобы решить проблему и придумать вопрос к проблеме _специфики. – Sefe

ответ

-1

попробовать что-то вроде этого:

SELECT DEPARTMENT, MAX(SALARY) 
    FROM <tablename> 
    GROUP BY DEPARTMENT; 
1

Если предположить, что первый запрос является:

SELECT DEPT_NAME, 
     MAX(SALARY) AS MAX_DEPT_SALARY 
FROM  instructor 
GROUP BY DEPT_NAME 

Тогда вы можете просто использовать строки из этого в качестве подзапроса, чтобы выбрать из:

SELECT <something> 
FROM (
     SELECT DEPT_NAME, 
        MAX(SALARY) AS MAX_DEPT_SALARY 
     FROM  instructor 
     GROUP BY DEPT_NAME 
     ) 

Тогда вам нужно будет разобраться, что такое <something>, что вам нужно будет найти. Ответ на этот вопрос дает вам ответ:

Найти самый низкий по всем отделам максимальный заработок за один отдел, рассчитанный по предыдущему запросу.

Я оставлю его вам, чтобы найти минимальную заработную плату тех сотрудников, которые вы уже нашли.

+0

Upvote для решения основной проблемы - базовой структуры для решения многочастной задачи; а затем разрешить ему решить конкретную проблему. – radarbob

Смежные вопросы