Reviewed by Aditya Kumar · Last reviewed 2026-03-24
WITH manager_counts AS (SELECT manager_id, COUNT(*) AS report_count FROM employees WHERE manager_id IS NOT NULL GROUP BY manager_id HAVING COUNT(*) >= 5) SELECT e.name FROM employees e JOIN manager_counts mc ON e.id = mc.manager_id. **Why**: Count reports per manager; filter >=...
WITH manager_counts AS (SELECT manager_id, COUNT() AS report_count FROM employees WHERE manager_id IS NOT NULL GROUP BY manager_id HAVING COUNT() >= 5) SELECT e.name FROM employees e JOIN manager_counts mc ON e.id = mc.manager_id. Why: Count reports per manager; filter >= 5; join for names. Scalability: Index manager_id. Consider materializing hierarchy for repeated analytics in large orgs.
Red Flag: Not handling NULL manager_id. Pro-Move: 'We materialize manager_report_count for org analytics.'
According to DataEngPrep.tech, this is one of the most frequently asked SQL interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.