select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname
from emp e,dept d
group by e.deptno,d.dname;
...全文
7835打赏收藏
请问如何消除这个笛卡尔积?
问题:列出在每个部门工作的员工数量,平均工资和平均服务期限和部门名称 select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname from emp e,dept d group by e.deptno,d.dname;
select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname
from scott.emp e,scott.dept d
WHERE e.deptno=d.deptno
group by e.deptno,d.dname;
从语句上来说,应该是条件不足吧,你这样查询的话,结果肯定会多
select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname
from emp e,dept d where ...
group by e.deptno,d.dname;