学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

关于oracle9i的多表连接查询问题

关于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 语句。为什么一定要用虚拟表??、

TOP

在group by语句中,select子句只能出现group by子句中的列或者其他列的聚合函数
天下归心

TOP

发新话题