select d.dname,d.loc,count(*),avg(e.sal)
2 from dept d left outer join emp e
3 on d.deptno = e.deptno
4 group by d.dname,d.loc;DNAME LOC COUNT(*) AVG(E.SAL)
-------------- ------------- ---------- ----------
RESEARCH DALLAS 5 2175
SALES CHICAGO 5 1690
ACCOUNTING NEW YORK 2 3150
OPERATIONS BOSTON 1
OPERATIONS部门里面没有员工,但为什么员工数是1?
2 from dept d left outer join emp e
3 on d.deptno = e.deptno
4 group by d.dname,d.loc;DNAME LOC COUNT(*) AVG(E.SAL)
-------------- ------------- ---------- ----------
RESEARCH DALLAS 5 2175
SALES CHICAGO 5 1690
ACCOUNTING NEW YORK 2 3150
OPERATIONS BOSTON 1
OPERATIONS部门里面没有员工,但为什么员工数是1?
解决方案 »
- 谁能帮忙提供一个spotlight on oracle RAC的license
- PB连接oracle的问题
- 各位前辈,高手,下面的存储过程怎么改啊??超简单,但不知道怎么改,改好送分
- 杭州英资企业高薪招聘Oracle, Java, C#/C++, Unix人才,去新加坡,英国工作机会
- 公司的领导想让我学习做报表,我初接触ORACLE,有什么合适的书能让我快速上手的?
- 怎么让客户端得知和得到数据库修改的数据?
- PL\SQL问题。
- 临时表无法插入数据
- java於oracle的問題
- 共享池的问题
- 在启动Oracle服务的时候出现:错误1067 进程意外终止。。急,在线等
- 利用存储过程导出为CSV文件时报错(pl-sql)
2 from dept d inner join emp e
3 on d.deptno = e.deptno
4 group by d.dname,d.loc;
你这个没有OPERATIONS部门啊……
from dept d left outer join emp e
on d.deptno = e.deptno
group by d.dname,d.loc;
是只分组中 记录的条数 不一定是员工数吧
要是生成的结果 员工的id,姓名这些列是null
而其它的列有不为null的 那么 count(*) 这一列是算进来的
但是你count(员工的id) 这一列是0
你说count(*)还是员工数?
你用count(*) 肯定是会有记录啊用count(员工ID)吧