Всем привет!)
Я не совсем осознаю оператор ALL. Вот например,
пример:
SELECT
first_name, last_name, salary
FROM
employees
WHERE
salary > ALL (SELECT
salary
FROM
employees
WHERE
department_id = 2)
Здесь в подзапросе находятся все зарплаты сотрудников отдела (департамента) с id = 2. Во внешнем запросе находятся сотрудники уже всех отделов, зарплата которых выше всех зарплат сотрудников 2-го отдела, то есть выше самой высокой зарплаты.
Почему бы не записать так:
SELECT
first_name, last_name, salary
FROM
employees
WHERE
salary > (SELECT
MAX(salary)
FROM
employees
WHERE
department_id = 2)
И везде ведь такие примеры. Особенно в ступор вводит, когда я вижу
= ALL(subquery)
.
Я что-то не так понимаю?