Flash Sale: Flat 70% + Addl. 25% Off on all Courses | Use Coupon DS25 in Checkout | Offer Expires InEnroll Now
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?
No hints are availble for this assesment
Answer is not availble for this assesment