1. 程式人生 > >Oracle學習筆記:外連接(+)的用法

Oracle學習筆記:外連接(+)的用法

右外連接 left 的區別 全面 多個 code where子句 color sel

  Oracle中常用 left join 和 right join 來進行外連接,同時,oracle也支持 (+) 的特殊用法,也是表示外連接,並且總是放在非主表的一方。

  例如:

  左外連接:

select a.id,b.id 
from a 
left join b 
on a.id = b.id;

  等價於:

select a.id, b.id 
from a,b
where a.id = b.id(+);

  同理,右外連接

select a.id,b.id 
from a 
right join b 
on a.id = b.id;

  等價於:

select
a.id, b.id from a,b where a.id(+) = b.id;

  註意:

1.(+)操作符只能出現在WHERE子句中,並且不能與OUTER JOIN語法同時使用。

2.當使用(+)操作符執行外連接時,如果在WHERE子句中包含有多個條件,則必須在所有條件中都包含(+)操作符。

3.(+)操作符只適用於列,而不能用在表達式上。

4.(+)操作符不能與OR和IN操作符一起使用。

5.(+)操作符只能用於實現左外連接和右外連接,而不能用於實現完全外連接。

  left/right join 和 (+) 的區別:

1.效率上沒區別

2.left join 可讀性高、功能更全面、通用性強、而且是新標準

3.建議使用left join


END 2018-12-18 22:52:22

Oracle學習筆記:外連接(+)的用法