关于oracle9i的多表连接查询问题
有连个表1,雇员表
emp(
id number pk,
name char notn null,
salary number,
depid number 是表dep中id的外键,
)
2.部门表
dep(
id number pk,
name char notnull,
manager varchar2(10)
)
向表中添加若干记录,注意约束条件。
问题1:
查询出所有的平均工资大于8000的部门的名称,
部门平均工资和部门经理名称。
问题2:
查询出所有工资高于所在部门平均工资的职工信息
(职工号,姓名,工资,部门名称,所在部门平均工资)。
我的问题一答案:select dep.name,dep.manager,avg(emp.salary) from dep,emp where dep.id=emp.dep_id group by emp.dep_id having avg(emp.salary)>500
标准答案是:select dep.name,dep.manager,temp.sy from dep,(select avg(salary)sy,dep_id from emp group by dep_id having avg(salary)>500)temp where dep.id=temp.dep_id
怎么我的语句总是说不是group by 语句。为什么一定要用虚拟表??、