子查询中的内连接

tp9*_*tp9 2 sql oracle11g oracle-sqldeveloper

有人可以解释以下查询之间的区别.子查询中的连接看起来相同,但第一个运行正常,第二个运行没有.在第二个查询中,子查询似乎无法访问别名表e.

QUERY1

select    e.ename
          ,e.deptno
          ,(
                select count(*)
                from emp d
                where e.deptno = d.deptno
          ) dept_cnt
from      emp e
order by 2;
Run Code Online (Sandbox Code Playgroud)

查询2

select    e.ename
          ,e.deptno
          ,(
                select count(*)
                from emp    d
                inner join  e
                    ON      d.deptno = e.deptno
           ) dept_cnt
from      emp e
order by 2;
Run Code Online (Sandbox Code Playgroud)

aF.*_*aF. 5

第二个查询语法错误:

inner join  e
                    ON      d.deptno = e.deptno
Run Code Online (Sandbox Code Playgroud)

无法使用表别名进行内部联接.