mysql:查詢平均工資最低的部門信息


問題:查詢平均工資最低的部門信息

該問題中平均工資涉及employees表,部門信息涉及departments表,
可將該問題按步驟拆分:

  ①查詢每個部門的平均工資

  ②查詢平均工資最低的部門的平均工資

  ③根據平均工資最低的部門的平均工資去找平均工資最低的部門的部門編號

  ④根據平均工資最低的部門的部門編號去找部門信息

 

具體實現:

  ①查詢每個部門的平均工資:  

         SELECT avg( salary ) ag
    FROM departments d
    JOIN employees e
    ON d.department_id = e.department_id
    GROUP BY d.department_id;

  ②查詢平均工資最低的部門的平均工資:

         SELECT min( ag )
    FROM (
      SELECT avg( salary ) ag
      FROM departments d
      JOIN employees e
      ON d.department_id = e.department_id
      GROUP BY d.department_id
    ) ag_dep;  這里必須取別名!

  ③根據平均工資最低的部門的平均工資去找平均工資最低的部門的部門編號:

         SELECT department_id
    FROM employees
    GROUP BY department_id
    HAVING avg( salary ) = (
      SELECT min( ag )
      FROM (
        SELECT avg( salary ) ag
        FROM departments d
        JOIN employees e
        ON d.department_id = e.department_id
        GROUP BY d.department_id
      ) ag_dep
    );

  ④根據平均工資最低的部門的部門編號去找部門信息:

    SELECT *
    FROM departments
    WHERE department_id =(
      SELECT department_id
      FROM employees
      GROUP BY department_id
      HAVING avg( salary ) = (
        SELECT min( ag )
        FROM (
          SELECT avg( salary ) ag
          FROM departments d
          JOIN employees e
          ON d.department_id = e.department_id
          GROUP BY d.department_id
        ) ag_dep
      )
    );

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM