请用2种不同的sql写法,统计出所有部门下的员工人数,若某部门下不存在员工,则统计显示为0.显示结果为: 部门编号、员工人数select b.deptno,count(a.empno) from dept_4908 b,emp4908 a where b.deptno=a.deptno(+) group by b.deptno;.我写了一种,还有一种怎么写???求高手解答,谢谢
解决方案 »
- 如何合理的选择表结构?
- jboss连接oracle时ocijdbc9.dll 访问被拒绝
- 在oracle中for in和游标执行效率一样吗?
- 如何对sequence和view进行数据同步……不知道怎么描述,但愿大家能明白……
- 时间差函数如何写
- 初学者几个问题
- oracle 9 2 能否安装到xp professional上啊.
- 请问高手这是报的什么错啊???!!!!!!!!!!!!!!!!!!!!!
- 一个oracl的汉字存储读取问题
- 求助大神~ oracle 按半年统计问题
- 怎么在standby database下新建与生产库一样实例名称的实例
- ORA-12154: TNS: 无法解析指定的连接标识符
nvl((select count(1)
from emp4908
where deptno=a.deptno),0) emp_num
from dept_4908 a;
--第一种
select b.deptno, nvl(c.cn, 0)
from dept_4908 b,
(select a.deptno, count(a.empno) cn from emp4908 a group by a.deptno) c
where b.deptno = c.deptno(+);
--第二种
select b.deptno,
(select count(a.empno) from emp_4908 a where a.deptno = b.deptno)
from dept_4908;