w3resource

SQL exercises on employee Database: Display the number of employee for each job in each department

SQL employee Database: Exercise-97 with Solution

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

97. From the following table, write a SQL query to count the number of employees of each designation in each department. Return department id, job name and number of employees.

Sample table: employees


Sample Solution:

SELECT dep_id,
       job_name,
       count(*)
FROM employees
GROUP BY dep_id,
         job_name;

Sample Output:

 dep_id | job_name  | count
--------+-----------+-------
   3001 | MANAGER   |     1
   2001 | ANALYST   |     2
   3001 | SALESMAN  |     4
   1001 | MANAGER   |     1
   1001 | PRESIDENT |     1
   2001 | MANAGER   |     1
   2001 | CLERK     |     2
   1001 | CLERK     |     1
   3001 | CLERK     |     1
(9 rows)

Relational Algebra Expression:

Relational Algebra Expression: Display the number of employee for each job in each department.

Relational Algebra Tree:

Relational Algebra Tree: Display the number of employee for each job in each department.

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 list the managers and number of employees work under them. Sort the result set in ascending order on manager. Return manager ID and number of employees under them.
Next: From the following table, write a SQL query to find those departments where at least two employees work. Return department id, number of employees.

What is the difficulty level of this exercise?