w3resource

SQL exercises on employee Database: Display the total information of the employees along with grades in ascending order

SQL employee Database: Exercise-83 with Solution

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

83. From the following tables, write a SQL query to find the employees along with grades in ascending order. Return complete information about the employees.

Pictorial Presentation:

SQL exercises on employee Database: Display the total information of the employees along with grades in ascending order

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
ORDER BY grade ASC;

OR

SELECT *
FROM employees e,
     salary_grade s
WHERE e.salary >= s.min_sal
  AND e.salary <= s.max_sal
ORDER BY s.grade ASC;

Sample Output:

 emp_id | emp_name | job_name  | manager_id | hire_date  | salary  | commission | dep_id | grade | min_sal | max_sal
--------+----------+-----------+------------+------------+---------+------------+--------+-------+---------+---------
  63679 | SANDRINE | CLERK     |      69062 | 1990-12-18 |  900.00 |            |   2001 |     1 |     800 |    1300
  68736 | ADNRES   | CLERK     |      67858 | 1997-05-23 | 1200.00 |            |   2001 |     1 |     800 |    1300
  69000 | JULIUS   | CLERK     |      66928 | 1991-12-03 | 1050.00 |            |   3001 |     1 |     800 |    1300
  65271 | WADE     | SALESMAN  |      66928 | 1991-02-22 | 1350.00 |     600.00 |   3001 |     2 |    1301 |    1500
  66564 | MADDEN   | SALESMAN  |      66928 | 1991-09-28 | 1350.00 |    1500.00 |   3001 |     2 |    1301 |    1500
  69324 | MARKER   | CLERK     |      67832 | 1992-01-23 | 1400.00 |            |   1001 |     2 |    1301 |    1500
  64989 | ADELYN   | SALESMAN  |      66928 | 1991-02-20 | 1700.00 |     400.00 |   3001 |     3 |    1501 |    2100
  68454 | TUCKER   | SALESMAN  |      66928 | 1991-09-08 | 1600.00 |       0.00 |   3001 |     3 |    1501 |    2100
  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
  68319 | KAYLING  | PRESIDENT |            | 1991-11-18 | 6000.00 |            |   1001 |     5 |    3101 |    9999
(14 rows)

Relational Algebra Expression:

Relational Algebra Expression: Display the total information of the employees along with grades in ascending order.

Relational Algebra Tree:

Relational Algebra Tree: Display the total information of the employees along with grades in ascending order.

Relational Algebra Expression:

Relational Algebra Expression: Display the total information of the employees along with grades in ascending order.

Relational Algebra Tree:

Relational Algebra Tree: Display the total information of the employees along with grades in ascending order.

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 tables, write a SQL query to find the location of all the employees working in FINANCE or AUDIT department. Sort the result-set in ascending order by department ID. Return complete information about the employees.
Next: From the following table, write a SQL query to find the employees according to the department in ascending order. Return name, job name, department, salary, and grade.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



SQL: Tips of the Day

Delete all Duplicate Rows except for One in MySQL?

SELECT * FROM names;

+----+--------+
| id | name   |
+----+--------+
| 1  | google |
| 2  | yahoo  |
| 3  | msn    |
| 4  | google |
| 5  | google |
| 6  | yahoo  |
+----+--------+

1. If you want to keep the row with the lowest id value:

DELETE n1 FROM names n1, names n2 WHERE n1.id > n2.id AND n1.name = n2.name

2. If you want to keep the row with the highest id value:

DELETE n1 FROM names n1, names n2 WHERE n1.id < n2.id AND n1.name = n2.name

Ref: https://bit.ly/3NroM8o