日期:2014-05-16 浏览次数:20469 次
咱们常用的表连接有内连接,外连接。其中外连接又可以分为左外连接,右外连接和全外连接。下面简单的说下这几种连接分类的使用方法。
内连接
? 内连接也叫自然连接,它是组合两个表的常用方法。自然连接将两个表中的列进行比较,将两个表中满足连接条件的行组合起来,作为结果。自然连接有两种形式的语法。
?
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.