select * from emp e,dept d where e.deptno = d.deptno();
select * from emp e,dept d where e.deptno = d.deptno(+);

解决方案 »

  1.   

    那是你表里面的数据没造好   如果表d里面没有雨表c对应的deptno  再查查这2句结果还是一样么?
      

  2.   


    假设emp中有1,2,3三条记录,dept表中只有1,3两条记录。
    那么你的第1条SQL返回3条记录,第2条SQL只会返回2条记录,这就是内连接与外连接的区别。
      

  3.   

    一个内连接,一个左连接
    不过你第2个最好写成left join,(+)是不提倡的写法
      

  4.   

    select * from emp e,dept d where e.deptno = d.deptno();
    select * from emp e,dept d where e.deptno = d.deptno(+);这两条语句的写法不推荐,已经过时了。
    select * from emp e inner join dept d on e.deptno = d.deptno;
    select * from emp e left outer join dept d on e.deptno = d.deptno;