http://www.1keydata.com/tw/sql/sqlouterjoin.html
假設我們有以下的兩個表格:
Store_Information 表格
| |||||||||||||||
Geography 表格
|
我們需要知道每一間店的營業額。如果我們用一個普通的連接,我們將會漏失掉 'New York'這個店,因為它並不存在於 Store_Information 這個表格。 所以,在這個情況下,我們需要用外部連接來串聯這兩個表格:
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
我們在這裡是使用了 Oracle 的外部連接語法。
結果:
store_name | SALES |
| $700 |
| |
| $1800 |
| $250 |
請注意: 當第二個表格沒有相對的資料時, SQL 會傳回 NULL 值。在這一個例子中, 'New York' 並不存在於 Store_Information 表格,所以它的 "SALES" 欄位是 NULL.
沒有留言:
張貼留言