日期:2014-05-16  浏览次数:20454 次

表连接的分类与使用方法

咱们常用的表连接有内连接,外连接。其中外连接又可以分为左外连接,右外连接和全外连接。下面简单的说下这几种连接分类的使用方法。

内连接

? 内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。

? select e1.ename,e1.mgr,e2.ename aa from emp e1,emp e2 where e1.mgr=e2.empno;
select e1.ename,e1.mgr,e2.ename aa from emp e1 inner join emp e2 on e1.mgr=e2.empno;

?

外连接

? 在自然连接中,只有在两个表中匹配的行才能在结果集中出现。而在外连接中可以只限制一个表,而对另外一个表不加限制(即所有的行都出现在结果集中)。
???????? 外连接分为左外连接、右外连接和全外连接。左外连接是对连接条件中左边的表不加限制;右外连接是对右边的表不加限制;全外连接对两个表都不加限制,所有两个表中的行都会包括在结果集中。

?

左外连接的语法为:

SELECT 列 FROM 表1?? LEFT?? [OUTER]JOIN 表2 ON 表1.列1=表2.列2
右外连接的语法为:

SELECT select_list FROM? 表1 RIGHT[OUTER]JOIN 表2 ON 表1.列1=表2.列2
全外连接(完整外部联接)的语法为:

SELECT select_list FROM? 表1 FULL[OUTER]? JOIN? 表2 ON 表1.列1=表2.列2

?

左外连接

?

左外连接是对连接条件中左边的表不加限制 ?


select e1.ename,e1.mgr,e2.ename aa from emp e1,emp e2 where e1.mgr=e2.empno(+) ;
select e1.ename,e1.mgr,e2.ename aa from emp e1 left outer join emp e2 on e1.mgr=e2.empno;

?


右外连接

? 右外连接是对右边的表不加限制 ?


select e1.ename,e1.mgr,e2.ename aa from emp e1,emp e2 where e1.mgr(+) =e2.empno;
select e1.ename,e1.