facebook pixel
Day 6/7 - SQL Challenge 🎯 TODAY’S QUESTION: Find departments where the average salary is above the company average. TABLE: Employees (id, name, department, salary) THE SOLUTION: SELECT department, AVG(salary) as avg_salary FROM Employees GROUP BY department HAVING AVG(salary) > ( SELECT AVG(salary) FROM Employees ); BREAKDOWN: AVG(salary) - Calculate average per department GROUP BY department - Group employees by department HAVING - Filter AFTER grouping (not WHERE!) Subquery (SELECT AVG(salary)...) - Company-wide average EXAMPLE: Company Average: $80,000 department | avg_salary -β€”β€”β€”β€”|β€”β€”β€”β€” Engineering | 90,000 βœ“ (above company avg) Sales | 75,000 βœ— (below company avg) Marketing | 85,000 βœ“ (above company avg) WHY HAVING, NOT WHERE? β€” ❌ WRONG (WHERE filters BEFORE grouping) SELECT department, AVG(salary) FROM Employees WHERE AVG(salary) > 80000 ← ERROR! GROUP BY department; β€” βœ… RIGHT (HAVING filters AFTER grouping) SELECT department, AVG(salary) FROM Employees GROUP BY departm...

Β 12.1k

Β 228

Β 9

Β 12.1k

    Suggested Credits
    Tags, Events, and Projects