Как упоминал Тим в своем ответе, все, где рассматриваются критерии. Я также прокомментировал ему, что я думаю, что вы просите преподавателей из других отделов, которые имеют зарплату больше, чем кто-либо в физическом отделе. Если у вас 3 человека в физике, у всех есть разные зарплаты, тогда у двух человек зарплата больше, чем у самой низкооплачиваемой физики, но все 3 могут быть выше, чем все остальные в школе.
Это было бы лучше обращаться с подзапроса, чтобы найти самую низкую физическую DEPT зарплату первым, а затем посмотреть на тех, кто больше, чем это значение ...
Кроме того, как вы есть, вы собираетесь иметь Декартово сравнение, так как нет условия JOIN. Каждая запись в таблице инструктора сравнивается с каждой записью в таблице инструкторов SECOND (включая запись, которую она сравнивает).
Чтобы решить эту проблему, второй из нижеприведенного псевдонима является предварительным вычислением минимальной зарплаты ОДИН РАЗ для физического факультета , затем применяя этот ОДИН ответ на все другие зарплаты преподавателей, которые НЕ находятся в физическом отделе.
select
t.name,
t.dept_name,
t.salary
from
instructor t,
(select min(ps.salary) PhysicsLowest
from instructor ps
where ps.dept_name='physics') as Phys
where
t.salary > Phys.PhysicsLowest
AND NOT t.dept_name = 'physics'
Здесь нет вопроса о приоритете. Существует вопрос о порядке оценки, который не является одним и тем же. – EJP
@EJP, Можете ли вы рассказать мне, как здесь будут сравниваться записи? Будь каждая запись в 't' с теми, кто находится в 's' или каким-то другим способом. – BabyboB