w3resource

SQL Exercise: Departments more than 10 employees who get commissions


31. From the following table, write a SQL query to find the departments where more than ten employees receive commissions. Return department id.

Sample table: employees
+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+
| EMPLOYEE_ID | FIRST_NAME  | LAST_NAME   | EMAIL    | PHONE_NUMBER       | HIRE_DATE  | JOB_ID     | SALARY   | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |
+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+
|         100 | Steven      | King        | SKING    | 515.123.4567       | 2003-06-17 | AD_PRES    | 24000.00 |           0.00 |          0 |            90 |
|         101 | Neena       | Kochhar     | NKOCHHAR | 515.123.4568       | 2005-09-21 | AD_VP      | 17000.00 |           0.00 |        100 |            90 |
|         102 | Lex         | De Haan     | LDEHAAN  | 515.123.4569       | 2001-01-13 | AD_VP      | 17000.00 |           0.00 |        100 |            90 |
|         103 | Alexander   | Hunold      | AHUNOLD  | 590.423.4567       | 2006-01-03 | IT_PROG    |  9000.00 |           0.00 |        102 |            60 |
|         104 | Bruce       | Ernst       | BERNST   | 590.423.4568       | 2007-05-21 | IT_PROG    |  6000.00 |           0.00 |        103 |            60 |
|         105 | David       | Austin      | DAUSTIN  | 590.423.4569       | 2005-06-25 | IT_PROG    |  4800.00 |           0.00 |        103 |            60 |
|         106 | Valli       | Pataballa   | VPATABAL | 590.423.4560       | 2006-02-05 | IT_PROG    |  4800.00 |           0.00 |        103 |            60 |
|         107 | Diana       | Lorentz     | DLORENTZ | 590.423.5567       | 2007-02-07 | IT_PROG    |  4200.00 |           0.00 |        103 |            60 |
|         108 | Nancy       | Greenberg   | NGREENBE | 515.124.4569       | 2002-08-17 | FI_MGR     | 12008.00 |           0.00 |        101 |           100 |
|         109 | Daniel      | Faviet      | DFAVIET  | 515.124.4169       | 2002-08-16 | FI_ACCOUNT |  9000.00 |           0.00 |        108 |           100 |
......
|         206 | William     | Gietz       | WGIETZ   | 515.123.8181       | 2002-06-07 | AC_ACCOUNT |  8300.00 |           0.00 |        205 |           110 |
+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+

View the table

Sample Solution:

-- Selecting 'department_id'
SELECT department_id 
-- Specifying the table to retrieve data from ('employees')
FROM employees 
-- Filtering the results to include only those with a non-null 'commission_pct'
WHERE commission_pct IS NOT NULL
-- Grouping the results by 'department_id'
GROUP BY department_id 
-- Filtering the grouped results to include only those with a count of 'commission_pct' greater than 10
HAVING COUNT(commission_pct) > 10;

Sample Output:

 department_id
---------------
            80
            50
(2 rows)

N.B.: For necessary region structure of the table have changed. Result may vary.

Code Explanation:

The said query in SQL that selects the department_id of employees who have a commission and groups them by department_id. It then only returns departments where the count of employees with a commission_pct is greater than 10.

Relational Algebra Expression:

Relational Algebra Expression: Display those departments where more than ten employees work who got a commission percentage.


Relational Algebra Tree:

Relational Algebra Tree: Display those departments where more than ten employees work who got a commission percentage.


Go to:


PREV : Departments with managers manage more than 4 employees.
NEXT : The date when he left his last job and his employee ID.


Practice Online



HR database model


Query Visualization:

Duration:

Query visualization of Display those departments where more than ten employees work who got a commission percentage - Duration.


Rows:

Query visualization of Display those departments where more than ten employees work who got a commission percentage - Rows.


Cost:

Query visualization of Display those departments where more than ten employees work who got a commission percentage - Cost.


Contribute your code and comments through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.