ORACLE 问题1个!!

是用scott表,11g。
哪些部门的雇员比20号部门的雇员多??
以下是我写的
select dname,deptno from dept
where (select count(ename) from emp group by dept)>(select count(ename) from emp where deptno=20)
/
第 2 行出现错误:
ORA-01427: 单行子查询返回多个行
刚刚学ORACLE,遇到许多困难,请大家指导一下。

第1个回答  2010-04-10
select count(ename) from emp group by dept
这个 字句相当于
select dept,count(ename) from emp group by dept
当有对个DEPT的时候 这个结果集是多条的
比如
NO
2
100
200

而select count(ename) from emp where deptno=20 这个字句理论上只有一条

那一个集合 与 一条记录 怎么比较 大小?
第2个回答  2010-04-10
Select a.dname,a.deptno From dept a,
(Select deptno,Count(ename) From emp Group By deptno Having Count(ename)>(Select Count(ename) From emp Where deptno=20)) b
Where a.deptno=b.deptno本回答被提问者采纳
第3个回答  2010-04-10
select dname,count(deptno) from dept
group by dname
having count(deptno)>(select count(ename) from emp where deptno=20)
相似回答