当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle 外连接实现代码

Oracle
大型数据库的设计原则与开发技巧
Oracle重做日志文件
如何使用Oracle的COALESCE函数
使用Oracle 10g Data Pump重组表空间
asp连接oracle
C++连接Oracle
详解Oracle的几种分页查询语句
简述Oracle数据仓库的体系结构
如何从完好的数据文件恢复oracle数据库
Oracle中OSFA和数据仓库简介
Oracle数据库段管理有技巧
Oracle中存取控制介绍
日志操作模式,Oracle数据的保护伞
Oracle中SQL语句解析的步骤
Oracle多粒度封锁机制研究(一)
Oracle多粒度封锁机制研究(二)
Oracle:教你删除Oracle数据库中重复没用的数据
Oracle:外部表在Oracle数据库中使用心得
Oracle:使用Oracle外部表的五个限制
Oracle:为什么Oracle字段的默认值不能用?

Oracle 外连接实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 49 ::
收藏到网摘: n/a

对于外连接,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的员工记录和没有任何员工的部门记录。