Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

SQL exercises on employee Database: Display the department name, grade, no. of employees where at least two employees are working as a SALESMAN

SQL employee Database: Exercise-100 with Solution

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

100. 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.

Sample table: employees


Sample table: department


Sample table: salary_grade


Sample Solution:

SELECT d.dep_name,
       s.grade,
       count(*)
FROM employees e,
     department d,
     salary_grade s
WHERE e.dep_id = d.dep_id
  AND e.job_name = 'SALESMAN'
  AND e.salary BETWEEN s.min_sal AND s.max_sal
GROUP BY d.dep_name,
         s.grade
HAVING count(*) >= 2;

Sample Output:

 dep_name  | grade | count
-----------+-------+-------
 MARKETING |     2 |     2
 MARKETING |     3 |     2
(2 rows)

Relational Algebra Expression:

Relational Algebra Expression: Display the department name, grade, no. of employees where at least two employees are working as a SALESMAN.

Relational Algebra Tree:

Relational Algebra Tree: Display the department name, grade, no. of employees where at least two employees are working as a SALESMAN.

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 grade, number of employees, and maximum salary of each grade.
Next: From the following table, write a SQL query to find those departments where less than four employees work. Return department ID, number of employees.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



SQL: Tips of the Day

SQL Server SELECT into existing table.

INSERT INTO dbo.TABLETWO
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:

INSERT INTO dbo.TABLETWO
  (col1, col2)
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

Database: SQL Server

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