连接符 "(+)" 所在位置的另一侧为连接的主表,对应的表返回全记录,
被连接的表中无符合条件的记录,返回 NULL
左连接:
select a_f2,b_f2 from
A,B where A.f1=B.f1
(
+
),必须首先扫描
A
表以驱动
B
扫描。此时,
A
标示的地方,如果针对
A
表的一条记录,在
B
表中
1
条也没有找到符合条件的记录,则会把
A.f1
值和以
NULL
值作为
B.f1
的值返回给用户;这
样,
A
表中的所有记录的且在
select
列表中的信息都会返回给用户
,
标准
SQL
语法是
left outer join
左连接常量是不能的。
右连接:
select a_f2,b_f2 from A,B where A.f1 ( + ) =B.f1, 必须首先扫描 B 表以驱动 A 扫描。右连接常量是可以的。
其实 A.F_ID = '000001 ' 和 A.F_ID(+) = '000001 ' 是一个意思 , 因为右边只有一个值 000001