SQL Practice Problem #007

Average salary by department

Calculate the average salary for each department.

Problem

Task

Calculate the average salary for each department.

Schema

Table Schema

employees(id, name, department, salary, manager_id)

Input

Sample Data

idnamedepartmentsalarymanager_id
1MinaEngineering70000NULL
2DanielEngineering800001
3SofiaMarketing60000NULL

Output

Expected Output

departmentaverage_salary
Engineering75000
Marketing60000

Answer

Check Your Solution

Show Answer and Explanation

Correct Answer

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

Explanation

AVG is an aggregate function. Because the query also returns department, each department must be grouped so the database knows which rows belong together.

Common Mistakes

  • Selecting name together with department and AVG(salary).
  • Forgetting GROUP BY department.
  • Using SUM(salary) when the problem asks for an average.

Concepts

Related Concepts

AVG GROUP BY Aggregate Functions Alias

Next practice

Related Problems