AdvancedJOINs (INNER, LEFT, RIGHT, FULL)
Find employees who share same department AND manager
The query
SQL
SELECT
e1.first_name || ' ' || e1.last_name AS emp1,
e2.first_name || ' ' || e2.last_name AS emp2,
d.dept_name,
m.first_name || ' ' || m.last_name AS shared_manager
FROM employees e1
JOIN employees e2 ON e1.dept_id = e2.dept_id
AND e1.manager_id = e2.manager_id
AND e1.emp_id < e2.emp_id -- avoid duplicates
JOIN departments d ON e1.dept_id = d.dept_id
JOIN employees m ON e1.manager_id = m.emp_id
ORDER BY d.dept_name;Note
“Self-join with additional conditions. emp_id < avoids (A,B) and (B,A) duplicates.