w3resource

SQL exercises on employee Database: List the grade, employee name for the department id 1001 or 3001 but salary grade is not 4 while they joined the company before 1992-12-31

SQL employee Database: Exercise-56 with Solution

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

56. From the following table, write a SQL query to find those employees whose department ID is 1001 or 3001 and salary grade is not 4. They joined the company before 1992-12-31. Return grade, employee name.

Sample table: employees


Sample table: salary_grade


Pictorial Presentation:

SQL exercises on employee Database: List the grade, employee name for the department id 1001 or 3001 but salary grade is not 4 while they joined the company before 1992-12-31

Sample Solution:

SELECT s.grade,
       e.emp_name
FROM employees e,
     salary_grade s
WHERE e.dep_id IN (1001,
                   3001)
  AND hire_date < ('1992-12-31')
  AND (e.salary BETWEEN s.min_sal AND s.max_sal
       AND s.grade NOT IN (4));

Sample Output:

 grade | emp_name
-------+----------
     1 | JULIUS
     2 | WADE
     2 | MADDEN
     2 | MARKER
     3 | ADELYN
     3 | TUCKER
     5 | KAYLING
(7 rows)

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 find those employees whose salary is between 2000 and 5000 (Begin and end values are included.) and location is PERTH. Return employee name, department ID, salary, and commission.
Next: From the following table, write a SQL query to find those employees whose manager name is JONAS. Return employee id, employee name, job name, manager ID, hire date, salary, department ID, employee name.

What is the difficulty level of this exercise?