Om du ville få den "billigaste" medarbetaren på varje avdelning skulle du ha två val:
SELECT
E.* -- Don't actually use *, list out all of your columns
FROM
Employees E
INNER JOIN
(
SELECT
department,
MIN(salary) AS min_salary
FROM
Employees
GROUP BY
department
) AS SQ ON
SQ.department = E.department AND
SQ.min_salary = E.salary
Eller så kan du använda:
SELECT
E.*
FROM
Employees E1
LEFT OUTER JOIN Employees E2 ON
E2.department = E1.department AND
E2.salary < E1.salary
WHERE
E2.employee_id IS NULL -- You can use any NOT NULL column here
Det andra påståendet fungerar genom att effektivt säga, visa mig alla anställda där du inte kan hitta en annan anställd på samma avdelning med lägre lön.
I båda fallen, om två eller flera anställda har lika löner som är det lägsta, får du dem båda (alla).