Login using Social Account
     Continue with GoogleLogin using your credentials
Self-Join means joining of a table with itself.
In above 'emp' table, column 'mgrempid' stores employee id of manager of each employee and manager is also an employee existing in same 'emp' table.
So, if we want to display employee name followed by employee's manager name in same rows, then self-join has to be used.
select e.empid, concat(e.empfname,' ',e.emplname) "employee", e.mgrempid, concat(m.empfname,' ',m.emplname) "manager"
from emp e, emp m
where e.mgrempid = m.empid
order by 1,2
;
ANSI join syntax:
select e.empid, concat(e.empfname,' ',e.emplname) "employee", e.mgrempid, concat(m.empfname,' ',m.emplname) "manager"
from emp e join emp m
on e.mgrempid = m.empid
order by 1,2
;
All above joins are called Inner joins where there will be output only if columns in WHERE clause have matching data in both tables.
In above output, empid 1 is not displayed because it doesn't have any manager.
select * from emp where empid = 1;
So, how to display record for that employee sans manager detail?
Taking you to the next exercise in seconds...
Want to create exercises like this yourself? Click here.
No hints are availble for this assesment
Answer is not availble for this assesment
Loading comments...