w3resource
SQL exercises

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. Write a query in SQL to 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 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: Write a query in SQL to list the employees name, department, salary and commission. For those whose salary is between 2000 and 5000 while location is PERTH
Next: Write a query in SQL to list the employees whose manager name is JONAS.

What is the difficulty level of this exercise?