Your code:
select a.*,b.* from employee a, supervisor_mapping b where a.emp_id = b.emp_id;
Don't do joins like that, it is very old-fashioned, not very robust and not recommended. Use explicit joins.
It is also good practice to list the columns you want rather than using *
Try something like this (untested):
SELECT a.Emp_ID,b.Supervisor_code,a.Emp_Designation,a.Emp_Name,c.Emp_Designation AS Supervisor_Designation,c.Emp_Name AS Supervisor_Name
FROM employee a
INNER JOIN supervisor_mapping b on a.emp_id=b.emp_id
INNER JOIN employee c on b.supervision_code=c.emp_id
This is what is known as a "self join" where you join to the same table again. Notice that I have used c.Emp_Name
AS Supervisor_Name