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

Oracle
Oracle数据库处理时间的技巧
Oracle数据库重复数据删除的三种情况
Oracle和SQL Server分析挖掘函数
Oracle数据库备份与恢复(6):LogMiner
Oracle数据库备份与恢复(5):Flashback
Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器)
Oracle数据库备份与恢复(3):OS备份和用户管理
Oracle数据库备份与恢复(2):SQL*Loader
Oracle数据库备份与恢复(1):exp和imp
Oracle数据库文件恢复与备份思路
Oracle中利用EXP/IMP工具实现数据迁移
Oracle中Exp/Imp大量数据处理
ORACLE的外连接
sqlserver与oracle的区别
SQLite数据库最适合做网站内容管理系统(CMS)
网站主机教程(7):网站主机的数据库技术
Oracle10G认证考试自2008年12月1日变化
什么是Oracle?oracle认证种类介绍
MSSQL数据库镜像在Oracle中是如何实现的
Oracle数据库维护中的前瞻性

Oracle 外连接实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 73 ::
收藏到网摘: 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的员工记录和没有任何员工的部门记录。