1.oracle (+) 含义
SELECT A.id, B.IDD FROM A, B WHERE A.id(+)=B.IDD 等价于 SELECT A.id, B.IDD FROM A RIGHT OUTER JOIN B ON ( A.id=B.IDD) SQL> select * from A; ID VAL ---------- ---------- 1 A1 2 A2 SQL> select * from B; IDD VAL ---------- ---------- 1 B1 3 B3 SQL> SELECT 2 A.id, B.IDD 3 FROM 4 A, B 5 WHERE 6 A.id(+)=B.IDD; ID IDD ---------- ---------- 1 1 3 SQL> SELECT 2 A.id, B.IDD 3 FROM 4 A RIGHT OUTER JOIN B ON ( A.id=B.IDD); ID IDD ---------- ---------- 1 1 3 意思是 两表关联的时候, B 表的数据, 全部检索出来。 A表的数据,则是在B表有相对应的数据的情况下,才检索出来。
(+)是outer join 的意思,能将匹配备件中有空值的记录也显示出来,如果没有这个符号,则不会显示条件中包含空值的结果