Please note, this is a STATIC archive of website www.w3resource.com from 19 Jul 2022, cach3.com does not collect or store any user information, there is no "phishing" involved.
w3resource

SQL subqueries on employee Database: List the name and average salary of employees in department wise

SQL subqueries on employee Database: Exercise-37 with Solution

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

37. From the following table, write a SQL query to compute department wise average salary of employees. Return employee name, average salary, department ID as "Current Salary".

Sample table: employees


Sample Solution:

SELECT e.emp_name,
       d.avgsal,
       e.dep_id AS "Current Salary"
FROM employees e,

  (SELECT avg(salary) avgsal,
          dep_id
   FROM employees
   GROUP BY dep_id) d
WHERE e.dep_id=d.dep_id;

Sample Output:

 emp_name |        avgsal         | Current Salary
----------+-----------------------+----------------
 KAYLING  | 3316.6666666666666667 |           1001
 BLAZE    | 1633.3333333333333333 |           3001
 CLARE    | 3316.6666666666666667 |           1001
 JONAS    | 2251.4000000000000000 |           2001
 SCARLET  | 2251.4000000000000000 |           2001
 FRANK    | 2251.4000000000000000 |           2001
 SANDRINE | 2251.4000000000000000 |           2001
 ADELYN   | 1633.3333333333333333 |           3001
 WADE     | 1633.3333333333333333 |           3001
 MADDEN   | 1633.3333333333333333 |           3001
 TUCKER   | 1633.3333333333333333 |           3001
 ADNRES   | 2251.4000000000000000 |           2001
 JULIUS   | 1633.3333333333333333 |           3001
 MARKER   | 3316.6666666666666667 |           1001
(14 rows)

Practice Online


Structure of employee Database:

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 less than the salary of his manager but more than the salary of any other manager. Return complete information about the employees.
Next: From the following table, write a SQL query to find five lowest paid workers. Return complete information about the employees.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



SQL: Tips of the Day

SQL Server SELECT into existing table.

INSERT INTO dbo.TABLETWO
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:

INSERT INTO dbo.TABLETWO
  (col1, col2)
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

Database: SQL Server

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