ORACLE 8i,9i 表连接方法。

一般的相等连接:

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

这个就属于内连接。

对于外连接:

Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN

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的员工记录。

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

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

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

ORACLE8i是不直接支持完全外连接的语法,也就是说不能在左右两个表上同时加上(+),下面是在ORACLE8i可以参考的完全外连接语法

select t1.id,t2.id from table1 t1,table t2 where t1.id=t2.id(+)

union

select t1.id,t2.id from table1 t1,table t2 where t1.id(+)=t2.id

连接类型

定义

图示

例子

内连接

只连接匹配的行

select A.c1,B.c2 from A join B on A.c3 = B.c3;

左外连接

包含左边表的全部行(不管右边的表中是否存在与它们匹配的行)以及右边表中全部匹配的行

select A.c1,B.c2 from A left join B on A.c3 = B.c3;

右外连接

包含右边表的全部行(不管左边的表中是否存在与它们匹配的行)以及左边表中全部匹配的行

select A.c1,B.c2 from A right join B on A.c3 = B.c3;

全外连接

包含左、右两个表的全部行,不管在另一边的表中是否存在与它们匹配的行

select A.c1,B.c2 from A full join B on A.c3 = B.c3;

(theta)连接

使用等值以外的条件来匹配左、右两个表中的行

select A.c1,B.c2 from A join B on A.c3 != B.c3;

交叉连接

生成笛卡尔积——它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行一一匹配

select A.c1,B.c2 from A,B;

oracle 等值连接实例,Oracle连接方式之等值连接和外部连接相关推荐

  1. 无线键盘有几种连接方式?(USB接收器连接(无线2.4g)、蓝牙连接、wi-fi连接、红外线连接)

    文章目录 无线键盘有哪几种连接方式? 各连接方式优缺点 无线键盘有哪几种连接方式? 无线键盘有以下几种连接方式: 通过USB接收器连接(无线2.4g):无线键盘通过USB接收器与电脑连接,一般需要插入 ...

  2. Android 监听网络连接状态,判断网络连接方式,9.0网络连接,获取已连接WiFi名称SSID和MAC

    获取已连接的WiFi名称 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> ...

  3. oracle mssql 实例,oracle,mysql,SqlServer三种数据库的分页查询的实例

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数, ...

  4. oracle rman 实例,Oracle数据库rman常用命令的使用示例

    Oracle数据库rman常用命令的使用是本文我们主要要介绍的内容,接下来我们就开始介绍这一部分内容,希望能够对您有些收获! 连接到rman 1.连接到目标数据库(不使用恢复目录) [oracle@l ...

  5. oracle备份与恢复实例,Oracle备份与恢复案例(三)

    6.拷贝备份回到原地点(restore),开始恢复数据库(recover) restore过程: C:\>copy D:\DATABAK\SYSTEM01.DBF D:\Oracle\ORADA ...

  6. oracle代码实例,oracle存储过程代码实例

    1.用来插入大量测试数据的存储过程 CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST ( ST_NUM        IN     NUMBER, ED_NUM ...

  7. 计算机中主要硬件的连接方式,电脑硬件总线的连接方式是什么?

    一台电脑都有哪些硬件组成?分别都 主机,是电脑这一家子的大总管,相当于人的大脑,几乎所有的文件资料和信息都由它掌管,您要电脑完成的工作也都由它主要负责,它还要给其他的家庭成员分配工作,其他的家庭成员因 ...

  8. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...

     mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...

  9. mysql开放允许外部连接_设置MySql允许外部连接的方法

    在linux上或window下cmd命令行下用root登陆,设置权限,grant 权限名(sqlserver和mysql不一样的,可以看手册知道,分所有的权限用all) on    库名(*表全部). ...

最新文章

  1. usaco Sorting a Three-Valued Sequence 三值的排序
  2. 7-6 统计字符串中数字字符的个数_洛谷 || 标题统计(C语言)
  3. 使用String.format简化代码
  4. 开源:Sagit.Framework For IOS 开发框架
  5. 苹果真要开发无线充电外壳 已要求联发科提供芯片样品
  6. WebStorm 10支持TypeScript 1.4到JavaScript的实时编译
  7. linux mysql 修改root密码_Mac下重置mysql的root密码
  8. 软件测试测试 python_Python测试简介
  9. 手机展示海报PSD模板、适用众多设计!
  10. rest php,REST介绍与REST在PHP中的应用
  11. 控制led闪烁次数_单片机驱动LED灯的进阶之路
  12. AJAX框架大全 (AJAX Frameworks)
  13. 安装win10时,显示windows 无法安装到这个磁盘,选中的磁盘具有mbr分区表
  14. 12月21诛仙服务器维护,12月24日全服停机更新维护公告
  15. request+BeautifulSoup:下载《笔趣看》网小说《第九特区》
  16. echarts双折线图自定义tooltips样式
  17. 0基础学3dmax建模难吗?
  18. 探秘varian:优雅的发布部署程序
  19. matlab解二阶微分方程组ode,MATLAB解含参数方程、矩阵方程、二阶微分方程组
  20. MATLAB-Simulink中BusCreator/Selector 和 Mux/Demux有什么区别?

热门文章

  1. 笔记本安装Win10+Ubuntu16.04 LTS 双系统
  2. 技嘉AORUS RTX 2080 Ti显卡:全新设计更贴近用户
  3. aircrack加reaver破解带有wps的wifi
  4. 计算机专业考公安研究生难吗,想考上研究生后参加公安联考,这条路难走,警校生不要轻易尝试...
  5. 【Aseprite】2D像素山脉背景的制作
  6. Persistence
  7. 小鑫博主初来乍到,多多包涵!后续精彩!
  8. 怎样给自己的网站添加一个在浏览器标签、地址栏左边和收藏夹上显示的缩略logo标志
  9. 太原市副高职称计算机要求,新消息!2020副高职称评审条件
  10. C语言TransparentBlt函数,技术分享 - 使用TransparentBlt函数实现绘制透明位图