以下的文章主若是对Oracle数据库中表的两种毗连体例的具体解析,在Oracle数据库中表的一共有四种毗连体例,可是本文首要讲述的前两种,但愿巨匠在浏览完以下的文章会对Oracle数据库中表的毗连体例有所体味。 表的毗连是指在一个SQL语句中经由过程表与表之间的关连,从一个或多个表中检索相关的数据,大体上表与表之间的毗连首要可分四种,分袂为相等毗连,外毗连,不等毗连和自毗连,本文将首要从以下几个典型的例祖菀攀析Oracle表的两种分歧毗连体例:1 ~5 b5 F D1 b" ]: Z
1. 相等毗连. E, ^" g$ G/ ^- g! F+ t0 L
经由过程两个表具有不异意义的列,可以成立相等毗连前提。' R1 b* `# [% u8 P3 R
只有毗连列上在两个表中都呈现且值相等的行才会呈此刻发芽结不美观中。
6 D" U4 V% s _$ w4 u* W 例 发芽员工信息以及对应的员工地址的部门信息;
1 ]+ `5 K% I( l t2 w SELECT * FROM EMP,DEPT;; m4 X. U# `1 P( y" J5 T9 w. ?
SELECT * FROM EMP,DEPT
& B1 _2 M7 d% a! E8 W1 ]( B4 r WHERE EMP.DEPTNO = DEPT.DEPTNO;9 X3 x" h' n0 `9 T2 {3 G# q: F
REM 显示工资跨越2000的员工信息以及对应的员工的部门名称。
" y6 g1 j, `$ Z o. f4 w- p% u2 Q; Y 2. 外毗连* M/ r6 w: B" ^ l
在Oracle数据库中表的两种毗连体例中的外毗连,在外毗连中Oracle中可以使用“(+)”来暗示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。除了显示匹配相等毗连前提的信息之外,还显示无法匹配相等毗连前提的某个表的信息。
0 e8 ~. P6 h0 v6 }: y+ u 外毗连采用(+)来识别。1 Q. ?6 \: r* B5 H( K3 M7 z
A) 左前提(+) = 右前提;
/ _) { q5 b6 K! V9 A y 代表除了显示匹配相等毗连前提的信息之外,还显示右前提地址的表中无法匹配相等毗连前提的信息。
& Y2 m- a% _% G5 k 此时也称为"右外毗连".另一种暗示体例是:( g# P* N* K; S! C9 ^
SELECT ... FROM 表1 RIGHT OUTER JOIN 表2 class=Apple-style-span> |