w3resource

SQL Exercise: Find employees whose managers are hold given IDs


16. From the following table, write a SQL query to find the employees whose managers hold the ID 120, 103, or 145. Return first name, last name, email, salary and manager 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 'first_name', 'last_name', 'email', 'salary', and 'manager_id' columns
-- from the 'employees' table
SELECT first_name, last_name, email, salary, manager_id
-- Specifying the table to retrieve data from ('employees')
FROM employees
-- Filtering the results based on the condition that 'manager_id' is in the set (120, 103, 145)
WHERE manager_id IN (120, 103, 145);

Sample Output:

 first_name  |  last_name  |  email   |  salary  | manager_id
-------------+-------------+----------+----------+------------
 Bruce       | Ernst       | BERNST   |  6000.00 |        103
 David       | Austin      | DAUSTIN  |  4800.00 |        103
 Valli       | Pataballa   | VPATABAL |  4800.00 |        103
 Diana       | Lorentz     | DLORENTZ |  4200.00 |        103
 Julia       | Nayer       | JNAYER   |  3200.00 |        120
 Irene       | Mikkilineni | IMIKKILI |  2700.00 |        120
 James       | Landry      | JLANDRY  |  2400.00 |        120
 Steven      | Markle      | SMARKLE  |  2200.00 |        120
 Peter       | Tucker      | PTUCKER  | 10000.00 |        145
 David       | Bernstein   | DBERNSTE |  9500.00 |        145
 Peter       | Hall        | PHALL    |  9000.00 |        145
 Christopher | Olsen       | COLSEN   |  8000.00 |        145
 Nanette     | Cambrault   | NCAMBRAU |  7500.00 |        145
 Oliver      | Tuvault     | OTUVAULT |  7000.00 |        145
 Winston     | Taylor      | WTAYLOR  |  3200.00 |        120
 Jean        | Fleaur      | JFLEAUR  |  3100.00 |        120
 Martha      | Sullivan    | MSULLIVA |  2500.00 |        120
 Girard      | Geoni       | GGEONI   |  2800.00 |        120
(18 rows)

Code Explanation:

The said query in SQL that retrieves the first name, last name, email, salary, and manager ID columns from the 'employees' table where the value in the "manager_id" column is one of the following values: 120, 103, or 145.

Relational Algebra Expression:

Relational Algebra Expression: Display the first and last name, email, salary and manager ID of  employees whose managers are hold the ID 120, 103 or 145.


Relational Algebra Tree:

Relational Algebra Tree: Display the first and last name, email, salary and manager ID of  employees whose managers are hold the ID 120, 103 or 145.


Go to:


PREV : Find those employees hired before June 21st, 2002.
NEXT : Employees have the given letters in their first name.


Practice Online



HR database model.


Duration:

Query visualization of Display the first and last name, email, salary and manager ID of employees whose managers are hold the ID 120, 103 or 145 - Duration.


Rows:

Query visualization of Display the first and last name, email, salary and manager ID of employees whose managers are hold the ID 120, 103 or 145 - Rows.


Cost:

Query visualization of Display the first and last name, email, salary and manager ID of employees whose managers are hold the ID 120, 103 or 145 - 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.