2012年6月12日 星期二

Oracle db 語法中出現 (+) 轉換成outer join

其實(+)的意義就等於 outer join, 當想要列出一個表格中每一筆的資料,無論它的值在另一個表格中有沒有出現時可以使用。
Example:
詳細的例子可以參考: 例子(reference)

不過當你不是使用oracle但又想要有同樣的結果怎麼辦?
只好自己來轉換了
Example:
SELECT A1.store_name, SUM(A2.Sales) SALES
FROM Georgraphy A1, Store_Information A2
WHERE A1.store_name = A2.store_name (+)
GROUP BY A1.store_name

可以改成
select A1.store_name, SUM(A2.Sales) SALES
FROM Georgraphy A1
LEFT OUTER JOIN Store_Information A2

ON A1.store_name = A2.store_name
GROUP BY A1.store_name