日期:2014-05-17 浏览次数:20860 次
select * from emp e1, (select * from emp) e2; 用inner join怎么写? select * from emp e1 inner join (select * from emp) e2;这么写怎么不对啊?
select * from emp e1 inner join emp e2 --[on e1.colname=e2.col2name]
------解决方案--------------------
select * from emp e1 inner join (select deptno, avg(sal) avg_sal from emp group by deptno) e2 on e1.deptno=e2.deptno and e1.sal>e2.avg_sal;
------解决方案--------------------
不加on会有语法错误,这是inner join的语法. 而第一种写法是多表查询,可以不要where条件,不过会产生笛卡尔集
------解决方案--------------------
select * from emp e1 inner join emp e2 on e1.字段=e2.字段
------解决方案--------------------
你要做的查询是,查询比本部门平均工资高的员工的信息和部门的平均工资。
tx2730好像是正确,不过没在Oracle中验证。