select *
from table_a
, table_b
where table_a.id = table_b.id(+)
and table_b.name = 'BENEFICIARY'
返回我沒有記錄。 table_b沒有名稱爲'BENEFICIARY'的記錄。但是無論如何,外連接都應該返回table_a中的所有記錄。沒有? 下面的查詢將返回表-A記錄預期:
select *
from table_a
, (select *
from table_b
where table_b.name = 'BENEFICIARY') AS table_b1
where table_a.id = table_b1.id(+)
爲什麼第一個查詢沒有返回記錄?
爲什麼過時的語法?爲什麼不使用(ANSI符合!)「左/右連接」語法?????? – paulsm4
如果你使用'(+)'語法(我個人喜歡,因爲ANSI語法是冗長的),那麼第5行應該是'table_b.name(+)='BENEFICIARY'。 –