w3resource

SQL Exercise: Find employees who is working given departments


21. From the following table, write a SQL query to find the employees whose department numbers are included in 30, 40, or 90. Return employee id, first name, job id, 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 'employee_id', 'first_name', 'job_id', and 'department_id' columns from the 'employees' table
SELECT employee_id, first_name, job_id, department_id
-- Specifying the table to retrieve data from ('employees')
FROM employees
-- Filtering the results based on the condition that 'department_id' is in (30, 40, 90)
WHERE department_id IN (30, 40, 90);

Sample Output:

 employee_id | first_name |  job_id  | department_id
-------------+------------+----------+---------------
         100 | Steven     | AD_PRES  |            90
         101 | Neena      | AD_VP    |            90
         102 | Lex        | AD_VP    |            90
         114 | Den        | PU_MAN   |            30
         115 | Alexander  | PU_CLERK |            30
         116 | Shelli     | PU_CLERK |            30
         117 | Sigal      | PU_CLERK |            30
         118 | Guy        | PU_CLERK |            30
         119 | Karen      | PU_CLERK |            30
         203 | Susan      | HR_REP   |            40
(10 rows)

Code Explanation:

The said query in SQL that retrieve data from the 'employees' table and select specific columns such as "employee_id", "first_name", "job_id", and "department_id".
The rows of the result are filtered based on the value of the "department_id" column, which must be either 30, 40, or 90.

Relational Algebra Expression:

Relational Algebra Expression: Display the employee Id, first name, job id, and department number for those employees whose department number equals 30, 40 or 90.


Relational Algebra Tree:

Relational Algebra Tree: Display the employee Id, first name, job id, and department number for those employees whose department number equals 30, 40 or 90.


Go to:


PREV : Find employees who is working except given departments.
NEXT : Find employees who did two or more jobs in the past.


Practice Online



HR database model


Duration:

Query visualization of Display the employee Id, first name, job id, and department number for those employees whose department number equals 30, 40 or 90 - Duration.


Rows:

Query visualization of Display the employee Id, first name, job id, and department number for those employees whose department number equals 30, 40 or 90 - Rows.


Cost:

Query visualization of Display the employee Id, first name, job id, and department number for those employees whose department number equals 30, 40 or 90 - 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.