oracle连接种类

等连接:连接条件使用等号

非等连接:连接条件使用等号以外的其它符号

内连接:根据指定的连接条件进行连接查询,满足连接条件的数据才会出现在结果集

外连接:在内连接的基础上,将某个连接表不符合连接条件的记录加入结果集

 

自连接:自身表中的列关联自身表中的其它列

内连接属于强连接,外连接属于弱连接

 

 

左外连接

 

A left outer join B】即把左边表A当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到A中不符合条件的记录也加入(因为它是基准),但对应B表的记录用null填充

 

select e.last_name,d.name

 

from s_emp e left outer join s_dept d

 

on e.dept_id=d.id;

 

Oracle特有写法:

 

select e.last_name,d.name

 

from s_emp e,s_dept d

 

where e.dept_id=d.id(+);

 

右外连接

A right outer join B】即把右边表B当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到B中不符合条件的记录也加入(因为它是基准),但对应A表的记录用null填充

oracle扩展连接方式:连接条件哪边表的列用(+),则它的记录用null值填充(也可把null当作占位符,没有东西、空占着位置),另一边的表会把不符合连接条件的记录也加进查询结果中。

 

全外连接

 

select e.last_name,d.name

 

from s_emp e full outer join s_dept d

 

on e.dept_id=d.id;

没有特殊写法

 

posted @ 2019-06-10 14:51  千里之外kb  阅读(730)  评论(0编辑  收藏  举报