與內部連接的查詢:左外連接返回更少的行
Select
O.ORDER_KEY, O.ORDER_SOURCE,
-------, ---
FROM
Table_1, Table_2, Table_3
where
TABLE_1.SK = TABLE_2.SK AND TABLE_2.SK = TABLE_3.SK and many more;
上述查詢將返回各地的10000行。
我想添加另一個表,但同時我不想丟失來自table_2的訂單。爲了達到這個目的,我使用了left_outer_join:
Select
O.ORDER_KEY, NVL(O.ORDER_SOURCE, WROA.ORDER_SOURCE) AS ORDER_SOURCE,
-------, ---
FROM
Table_1, Table_2, Table_3, Table_4
where
TABLE_1.SK = TABLE_2.SK AND TABLE_2.SK = TABLE_3.SK AND
TABLE_2.ORDER = TABLE_4.ORDER(+);
上面的查詢返回200行。
爲什麼它不返回10000行?我錯過了什麼?如何在左外連接上添加一個條件來影響多行?
有加入舊語法,但此查詢是無稽之談。什麼是TABLE_2_ORDER?沒有這樣的桌子。什麼是'還有更多';?它可以有很多'(+)首先我建議重新適應正確的連接語法。然後發佈整個查詢進行分析。這是很少說什麼 – Kacper
非常確定這是一個正確的加入。包含所有table4_order記錄,並且只包含table_2_order中匹配的記錄。 – xQbert
「=」被認爲是內部連接,最後加上「(+)」是外部連接。對? –