اوراکل 26ai – چگونه با عبارت QUALIFY نتایج توابع تحلیلی را بدون subquery فیلتر کنیم؟

فرض کنید میخواهیم از جدول employees، از هر دپارتمان، فقط اطلاعات کارمندی را نمایش دهیم که بالاترین حقوق را دارد. برای گرفتن این خروجی، تا قبل از نسخه 26ai معمولا از subquery استفاده می کردیم:

SELECT *
FROM (
  SELECT employee_id,
         first_name,
         department_id,
         salary,
         RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS Rank_Per_DEP
  FROM employees
)
WHERE Rank_Per_DEP = 1;

(بیشتر…)