查询最低工资大于20号部门最低工资的部门号和部门的最低工资.

来源:4-11 [Oracle] 单行子查询和多行子查询

修德

2016-12-10 11:38

select deptno,(select min(sal) from emp where deptno = e.deptno)

from emp e

where (select min(sal) from emp) > (select min(sal) from emp where deptno =20);

为什么没有查询结果?

写回答 关注

3回答

  • 慕粉4296478
    2016-12-11 13:26:34
    已采纳

    改成这个样子就可以了

    select  deptno, (select min(sal) from emp where deptno = e.deptno) 

    from emp e

    group by deptno

    having (select min(sal) from emp where deptno = e.deptno ) > (select min(sal) from emp where deptno =20);


    慕粉4296...

    或者select deptno, (select min(sal) from emp where deptno = e.deptno) from emp e where (select min(sal) from emp where deptno = e.deptno ) > (select min(sal) from emp where deptno =20) group by deptno;

    2016-12-11 13:29:01

    共 1 条回复 >

  • 针尖上的天使_0002
    2017-03-27 15:32:48

    select deptno,(select min(sal) from emp where deptno = e.deptno)from emp e where (select min(sal) from emp) > (select min(sal) from emp where deptno =20);因为你这条语句查询的结果为emp表的最低工资而这个最低工资正好就是20号部门的最低工资800,所以比较不成立就不会有输出结果。

  • 修德
    2016-12-11 14:27:32

    谢谢,我的意思是我代码没有执行结果的原因,但是还是非常感谢!


Oracle高级查询

数据库开发中应用广泛的高级查询,本教程通过大量的案例详细讲解

62862 学习 · 144 问题

查看课程

相似问题