oracle中的外连接简单介绍

原创 2007年09月12日 19:11:00
 在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。

select * from a, b where a.id = b.id;

对于外连接,oracle中可以使用“(+)”来表示,9i可以使用left/right/full outer join,下面将配合实例一一介绍。

1. left outer join:左外关联


select e.last_name, e.department_id, d.department_name  from employees e  left outer join departments d  on (e.department_id = d.department_id);


等价于

select e.last_name, e.department_id, d.department_name  from employees e, departments d  where e.department_id=d.department_id(+);


结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

2. right outer join:右外关联

select e.last_name, e.department_id, d.department_name  from employees e  right outer join departments d  on (e.department_id = d.department_id);


等价于

select e.last_name, e.department_id, d.department_name  from employees e, departments d  where e.department_id(+)=d.department_id;


结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

3. full outer join:全外关联

select e.last_name, e.department_id, d.department_name  from employees e  full outer join departments d  on (e.department_id = d.department_id);


结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

相关文章推荐

关于如何只取得每组数据中的一个最大值的问题?

 create table topic(Topicid int,title nvarchar(10),boardid int,addtime datetime   )insert topic sele...

Oracle数据库左外连接

  • 2013年08月21日 17:31
  • 353B
  • 下载

oracle外连接

  • 2011年12月13日 20:38
  • 50KB
  • 下载

Oracle 左右外连接的区别

忙中抽空。弄点记录。。。数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 2、外连接: 包括 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制)...

Oracle中的外连接

  • 2010年10月13日 11:16
  • 520KB
  • 下载

Oracle外连接

  • 2007年08月09日 17:44
  • 514KB
  • 下载

Oracle 外连接和 (+)号的用法

对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。 1. LEFT OUTER JOIN:左外关联 SE...

Oracle查找排序,模糊查询,外连接

(一)oracle数据库在排序处理时,会遇到指定排序的数据为null的情况。在默认情况下,把null值看作最大值。即在升序的时候,默认将null值排在最后,降序的时候把null排在最前面。select...

oracle外连接和(+)用法

转自:http://www.cnblogs.com/iloveu/archive/2009/08/04/1538781.html 对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle中的外连接简单介绍
举报原因:
原因补充:

(最多只允许输入30个字)