查询大学数据库

时间:2016-11-23 14:42:08

标签: sql oracle

我必须将以下查询写入以下数据库:

University Database 查询是:

  1. 对于每个部门,找到该部门的教师的最高工资。您可以假设每个部门至少有一名教师。
  2. 查找所有部门中最低的前一查询计算的每部门最高工资。
  3. 我成功完成了第一个,但我被困在第二个。我试图做的是从第一个查询得到结果,然后用子查询得到第二个问题的结果。

    这是我的代码:

        SELECT DEPT_NAME, MIN(SALARY)
        FROM instructor
        WHERE DEPT_NAME IN
       (SELECT DEPT_NAME, MAX(SALARY)
        FROM instructor
        GROUP BY DEPT_NAME);
    

    我尝试了不同的变化,但我无法让它发挥作用。

2 个答案:

答案 0 :(得分:2)

假设您的第一个查询是:

SELECT   DEPT_NAME,
         MAX(SALARY) AS MAX_DEPT_SALARY
FROM     instructor
GROUP BY DEPT_NAME

然后您可以使用此中的行作为子查询来选择:

SELECT <something>
FROM   (
         SELECT   DEPT_NAME,
                  MAX(SALARY) AS MAX_DEPT_SALARY
         FROM     instructor
         GROUP BY DEPT_NAME
       )

然后你需要找出你需要找到的<something>。那么这个问题就给你答案了:

  

找出所有部门中由前一个查询计算出的每部门最高工资的最低值。

我会留给您,以便找到您已经找到的部门最高工资的最低金额。

答案 1 :(得分:-1)

尝试这样的事情:

 SELECT DEPARTMENT, MAX(SALARY)
   FROM <tablename>
  GROUP BY DEPARTMENT;