I have the below table
empid empname managerID 1 A NULL 2 B 1 3 C 1 4 D 2
I think, your solution is most appropriate, but we can rewrite it, e.g.:
select t1.empname [EmpName] , (select t2.empname from @t t2 where t2.empid = t1.managerID) [ManagerName] from @t t1