连接问题

笛卡尔积:一个表中所有行与另一个表中的所有行进行连接(握手模式)

eg:emp表中有4行有,dept表中有16行,则结果为64行

      select * from emp,dept;  

      当语句中含有where限制时,则不会出现笛卡尔积

连接分为等连接,非等连接,外连接和自连接

   1>等连接:select * from emp,dept where empno=deptno;

   2>非等连接:select * from emp,dept where empno>=deptno;

   3>右外连接:  select e.empno,d.deptno from emp e,dept d where e.empno(+)=d.deptno;   //以右边为基准补齐

         

    4>自连接:select mgr,empno from emp where mgr=empno;

 

posted @ 2015-04-28 17:16  qian@@jing  阅读(156)  评论(0编辑  收藏  举报