You do a "self-join" (joining the table to itself) using table name aliases.
We will do a left-join so that it will not drop any records if there is no match.
The SQL code for that would look something like (assuming table name is "Supervisors"):
Code:
SELECT Supervisors.[Emp ID], Supervisors.[Supervisor Name], Supervisors.[Supervisor ID], Supervisors_1.[Supervisor ID]
FROM Supervisors
LEFT JOIN Supervisors AS Supervisors_1
ON Supervisors.[Supervisor ID] = Supervisors_1.[Emp ID];
To build this in the Query Builder, simply add your table to the query twice, then connect the "Supervisor ID" field from the first one to the "Emp ID" field in the second one, and change the relationship to a Left Join so the join arrow is pointing to the "Emp ID" field.
Then return all the fields from each table that you want.
For more levels, just repeat the steps adding more copies of the table to the query, and joining the "Supervisor ID" from the second table to the "Emp ID" in the third table, etc, etc.