Problem
Employees Above Company Average
Medium- sql
Return the employees who earn more than the average salary of the whole company. Employees with no salary are left out of that average and are never returned.
Expected columns: all four columns of Employees (id, name, dept, salary), in that order. Row order does not matter.
- Input
Employees(id, name, dept, salary) 1 | Alice | Sales | 50000 2 | Bob | Sales | 60000 3 | Carol | IT | 70000 4 | Dave | IT | NULL 5 | Eve | HR | 55000- Output
id | name | dept | salary 2 | Bob | Sales | 60000 3 | Carol | IT | 70000- Explanation
the four salaries on record average (50000 + 60000 + 70000 + 55000) / 4 = 58750. Bob and Carol earn more than that. Dave has no salary, so he is not compared.
Sample database
Your query runs in the browser against these tables. Column names are exact.
Departments
- dept_id
- dept
Employees
- id
- name
- dept
- salary
Customers
- customer_id
- name
- city
- signup_date
Products
- product_id
- name
- category
- price
Orders
- order_id
- customer_id
- order_date
- status
OrderItems
- order_id
- product_id
- quantity
Logins
- customer_id
- login_date
Staff
- staff_id
- name
- title
- manager_id
No automatic grading here
Run your query and check the rows against what the question asks for. Then open the model answer to compare.
Tab indents. Press Esc, then Tab to leave the editor.
Loading the SQL engine…