SQL Exercise: Search for all grade 4 and 5 as Analysts and Managers
SQL subqueries on employee Database: Exercise-6 with Solution
[An editor is available at the bottom of the page to write and execute the scripts.]
6. From the following table, write a SQL query to find those employees of grade 4 or 5 and who work as ANALYST or MANAGER. Return complete information about the employees.
Sample table: employees
Sample table: salary_grade
Sample Solution:
SELECT *
FROM employees e,
salary_grade s
WHERE e.salary BETWEEN s.min_sal AND s.max_sal
AND s.grade IN (4,
5)
AND e.emp_id IN
(SELECT e.emp_id
FROM employees e
WHERE e.job_name IN ('MANAGER',
'ANALYST'));
Sample Output:
emp_id | emp_name | job_name | manager_id | hire_date | salary | commission | dep_id | grade | min_sal | max_sal --------+----------+----------+------------+------------+---------+------------+--------+-------+---------+--------- 66928 | BLAZE | MANAGER | 68319 | 1991-05-01 | 2750.00 | | 3001 | 4 | 2101 | 3100 67832 | CLARE | MANAGER | 68319 | 1991-06-09 | 2550.00 | | 1001 | 4 | 2101 | 3100 65646 | JONAS | MANAGER | 68319 | 1991-04-02 | 2957.00 | | 2001 | 4 | 2101 | 3100 67858 | SCARLET | ANALYST | 65646 | 1997-04-19 | 3100.00 | | 2001 | 4 | 2101 | 3100 69062 | FRANK | ANALYST | 65646 | 1991-12-03 | 3100.00 | | 2001 | 4 | 2101 | 3100 (5 rows)
Explanation:
The said query in SQL that retrieves information for employees from the tables 'employees' and 'salary_grade' who are either managers or analysts and whose salaries fall within the ranges specified for salary grades 4 or 5.
The WHERE clause includes records in the result set that meets the following conditions:
The employee's salary must be between the minimum and maximum salary of a salary grade 4 or 5.
The employee's job name must be either "MANAGER" or "ANALYST".
The employee's ID must be included in a subquery that selects employee IDs from the 'employees' table based on the same job name condition.
Practice Online
Structure of employee Database:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous SQL Exercise: List all the employees of grade 2 and 3.
Next SQL Exercise: List the employees whose salary is more than JONAS.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/sql-exercises/employee-database-exercise/sql-subqueries-exercise-employee-database-6.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics