当前位置: 代码迷 >> Oracle管理 >> 内连接inner join解决方案
  详细解决方案

内连接inner join解决方案

热度:85   发布时间:2016-04-24 05:49:56.0
内连接inner join
SQL code
select * from emp e1, (select * from emp) e2;用inner join怎么写?select * from emp e1 inner join (select * from emp) e2;这么写怎么不对啊?


------解决方案--------------------
SQL code
select * from emp e1 inner join emp e2 --[on e1.colname=e2.col2name]
------解决方案--------------------
SQL code
select * from emp e1 inner join    (select deptno, avg(sal) avg_sal from emp group by deptno) e2 one1.deptno=e2.deptno and e1.sal>e2.avg_sal;
------解决方案--------------------
不加on会有语法错误,这是inner join的语法. 而第一种写法是多表查询,可以不要where条件,不过会产生笛卡尔集
------解决方案--------------------
探讨
SQL code

select * from emp e1, (select * from emp) e2;
用inner join怎么写?
select * from emp e1 inner join (select * from emp) e2;这么写怎么不对啊?

------解决方案--------------------
SQL code
select * from emp e1 inner join emp e2 on e1.字段=e2.字段
------解决方案--------------------
你要做的查询是,查询比本部门平均工资高的员工的信息和部门的平均工资。
tx2730好像是正确,不过没在Oracle中验证。
  相关解决方案