w3resource

SQL exercises on employee Database: Display the Grade, Number of employees, and maximum salary of each grade

SQL employee Database: Exercise-99 with Solution

[An editor is available at the bottom of the page to write and execute the scripts.]

99. From the following table, write a SQL query to list the grade, number of employees, and maximum salary of each grade.

Sample table: employees


Sample table: salary_grade


Sample Solution:

SELECT s.grade,
       count(*),
       max(salary)
FROM employees e,
     salary_grade s
WHERE e.salary BETWEEN s.min_sal AND s.max_sal
GROUP BY s.grade;

Sample Output:

 grade | count |   max
-------+-------+---------
     4 |     5 | 3100.00
     1 |     3 | 1200.00
     5 |     1 | 6000.00
     3 |     2 | 1700.00
     2 |     3 | 1400.00
(5 rows)

Relational Algebra Expression:

Relational Algebra Expression: Display the Grade, Number of employees, and maximum salary of each grade.

Relational Algebra Tree:

Relational Algebra Tree: Display the Grade, Number of employees, and maximum salary of each grade.

Practice Online


Sample Database: employee

employee database structure

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: From the following table, write a SQL query to find those departments where at least two employees work. Return department id, number of employees.
Next: From the following table, write a SQL query to find those departments where at least two employees work as a SALESMAN in each grade. Return department name, grade and number of employees.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



SQL: Tips of the Day

MYSQL OR vs IN performance:

In many database servers, IN() is just a synonym for multiple OR clauses, because the two are logically equivalent. Not so in MySQL, which sorts the values in the IN() list and uses a fast binary search to see whether a value is in the list. This is O(Log n) in the size of the list, whereas an equivalent series of OR clauses is O(n) in the size of the list (i.e., much slower for large lists)

Ref: https://bit.ly/3PzLY69