Запросы профессоров и окладов превышают минимальные заданные c на отдел - PullRequest
0 голосов
/ 10 января 2020

С учетом этой схемы:

Professor_ID
Professor_Name
Dept_ID
Salary


Dept_ID
Dept_Name

Университет использует 2 таблицы данных, Профессор и Кафедры, для хранения данных о своем профессоре и кафедрах, связанных с каждой из них.

Написать запрос напечатать имя и зарплату для каждого профессора:

  1. Профессор не работает на художественном факультете
  2. Зарплата профессора больше, чем наименьшая зарплата любого профессора на художественном факультете

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

Joe Smith  22066

Ken Doe 13411

Eliott Scott 19404

Scott Thompson 48299

Я только что попробовал что-то подобное, но это не работает:

SELECT Professor_ID, Professor_Name, Dept_ID, Salary
FROM Professors p  
INNER JOIN Departments d
ON p.Dept_ID = d.Dept_ID
WHERE Dept_Name != 'Art'and Salary > (SELECT MIN(Salary))
   FROM Professors p 
   INNER JOIN Departments d 
   ON p.Dept_ID = d.Dept_ID  
   WHERE Dept_Name = 'Arts and Humanities')

1 Ответ

1 голос
/ 10 января 2020

Это даст вам

Часть последнего запроса, помеченная --- 1, даст вам все зарплаты профессоров, которые не работают в отделе искусства. Часть последнего запроса, помеченная --- 2 сравнит зарплату профессоров, выбранных в первой части, и сравнит ее с наименьшей зарплатой профессоров в области искусства, используя следующий запрос:

select min(Salary) from From Professors p inner join Departments d on p.Dept_ID = d.Dept_ID  where Dept_Name = 'Art'

Окончательный запрос

--- 111
    select 
    Professor_ID,
    Professor_Name,
    Dept_ID,
    Salary
    From Professors p  inner join Departments d on p.Dept_ID = d.Dept_ID
    where Dept_Name != 'Art'
--- 111
--- 222
    and Salary > (select min(Salary) From Professors p inner join Departments d on p.Dept_ID = d.Dept_ID  where Dept_Name = 'Art')
--- 222
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...