Accepted Solution without using Max() function
select b.Name Department, a.Name Employee, a.Salary from\n    (\n        select a.Name, a.Salary, a.DepartmentId \n        from Employee a left outer join Emplo
    select b.Name Department, a.Name Employee, a.Salary from\n    (\n        select a.Name, a.Salary, a.DepartmentId \n        from Employee a left outer join Employee b\n        on a.DepartmentId = b.DepartmentId \n        and a.Salary < b.Salary\n        where b.Id is null\n    ) a join Department b\n    on a.DepartmentId = b.Id;
[]