最赞回答 / 勇敢的小点点
我是这样理解的:group by deptno 会把所有数据按部门分成三组,max(avg(sal)) 是把每一组的avg(sal)拿来相比较,得出一个最大值。所以,同时查询deptno和max(avg(sal))时,经过分组,前者返回的是三个值,后者返回一个值。这两个字段无法在同一行显示出来,所以报错。报错所指的不是单组分组函数就是在说deptno字段不是单组数据,要分三组显示。你可以试试改成 select max(deptno),... 应该就不会报错了。个人理解,仅供参考。
2017-03-22
已采纳回答 / 慕仰0354868
自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。即自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。通过别名,将同一张表视为多张表
2017-02-14
最新回答 / 大飞007
员工薪水大于自己本部门的平均薪水 这一个问题?<...code...>如果是该问题,avg(sal)是查询所有部门的平均薪水,嵌套select是为了得出本部门的薪水,而且在该查询中,不能使用avg(sal),原因是:ORA-00937: 不是单组分组函数
2017-01-17
最赞回答 / 慕UI9017045
select c.ci_id,wm_concat(s.stu_name)from pm_ci c,pm_stu swhere instr(c.stu_ids,s.stu_id)>0group by ci_id;
2016-12-21
已采纳回答 / 慕粉4296478
改成这个样子就可以了select deptno, (select min(sal) from emp where deptno = e.deptno) from emp egroup by deptnohaving (select min(sal) from emp where deptno = e.deptno ) > (select min(sal) from emp where deptno =20);
2016-12-10