`
keepwork
  • 浏览: 326271 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle--左右关联

阅读更多

 开发者博客www.developsearch.com

 

 

在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。

 

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的员工记录和没有任何员工的部门记录。

 

开发者博客www.developsearch.com

分享到:
评论

相关推荐

    plsql不安装oracle客户端,oracle所涉及的文件

    安装oracle客户端很麻烦不说还很占内存几百兆,我自己整理的一份不用安装轻便的oracle配置信息,解压完后也就70M左右,并且可以与PLSQL关联的一个整理文件。如有疑问,可私聊我哦!安装步骤与关联详情请参考我自己的...

    ORACLE数据库智能化管理系统2012

    批量数据比较功能,增加了数字型字段4种(左右两边数据加减乘除)处理方式和4种行数据处理(左右两边互移或互复制行),可从数据源复合查询结果数据与目标数据进行运算,达到想要的结果等。 数据窗口右键菜单功能整合多种...

    百亿级别海量数据删除方案(不停机维护)

    有些表较大,最大的表可以达到1T的数据量,另外还有四五张800G左右的数据。所有的表数据量大概有100亿条数据,其中需要删除的估计大概有80亿条数据,并且此系统为核心系统不允许停机维护数据,所以删除数据十分麻烦...

    三款数据库管理系统优缺点对比.doc

    现今市面主要有三款通用的数据库系统软件: 1.MS ACCESS 软件简介 ACCESS是由Microsoft发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和图形用户界面两项特点,是 Microsoft Office的成员之...

    六天带你玩转MYSQL视频教程

    MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。 共6天课程,...

    2009达内SQL学习笔记

    export ORACLE_HOME=/oracledata/.../bin: 一、注意事项: 大小写不敏感,即不区分大小写。提倡关键字大写,便于阅读和调式。 “!”在SQL环境下执行Unix命令。 SQL语句是由简单的英语单词构成;这些英语单词...

    asp.net知识库

    .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库 SQL Server数据库安全规划全攻略 .net通用数据库访问组件SQL Artisan应用简介1 在Framework1.0下...

    Toad 使用快速入门

     磁盘:一般安装需要20M左右的空间,根据所选择模块的不同和安装方式的不同,最少也要5M的磁盘空间(从网络服务器读取)  内存:Windows 9x/Me:16M 内存;Windows NT/2000: Min 32M]  Tuning模块需要额外的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例198 页面布局(3列左右侧固定中间自适应居中) 244 实例199 页面布局(2列右侧固定左侧自适应宽度) 247 实例200 页面布局(2列左固定右自适宽度+底平齐) 249 实例201 页面布局(2列右固定左自适宽度+底平齐) 252 3.6 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例198 页面布局(3列左右侧固定中间自适应居中) 244 实例199 页面布局(2列右侧固定左侧自适应宽度) 247 实例200 页面布局(2列左固定右自适宽度+底平齐) 249 实例201 页面布局(2列右固定左自适宽度+底平齐) 252 3.6 ...

    mysql数据库的基本操作语法

    注意:alter modify不支持一次修改多个列,但是Oracle支持多列修改 但是MySQL可以通过多个modify的方式完成: alter table user modify tel varchar(15) default '02087654321' first, modify name varchar(20) ...

    C#.net_经典编程例子400个

    294 实例206 允许和禁止用户关机 295 实例207 锁定计算机 296 7.5 系统设置 297 实例208 设置系统输入法 297 实例209 设置桌面颜色 298 实例210 鼠标交换左右键 299 7.6 系统监控...

    收获不止SQL优化

    2.2.3 快速拿到SQL关联幕后信息 28 2.3 从案例看快速SQL调优 29 2.3.1 获取数据库整体的运行情况 29 2.3.2 获取SQL的各种详细信息 29 2.4 本章总结延伸与习题 32 2.4.1 总结延伸 32 2.4.2 习题训练 33 第3章...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    7.2 IE设置 cc实例195 修改IE标题栏内容 cc实例196 隐藏IE浏览器的右键关联菜单 cc实例197 设置IE的默认主页 cc实例198 清空上网历史记录 7.3 文件控制 cc实例199 如何建立文件关联 cc实例200 控制...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例207c连接Oracle数据库   8.2 添加数据   cc实例208 利用INSERT语句批量插入数据   cc实例209 利用SELECTcINTO生成临时表   8.3 更新数据   cc实例210 批量修改数据   cc实例211 将指定...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例207c连接Oracle数据库   8.2 添加数据   cc实例208 利用INSERT语句批量插入数据   cc实例209 利用SELECTcINTO生成临时表   8.3 更新数据   cc实例210 批量修改数据   cc实例211 将指定...

Global site tag (gtag.js) - Google Analytics