1.交叉合併(Cross Join)
稱為Cross Join or Cross Product。
請參考P4-3圖
cross join 後可能產生合理或不合理之情形,而內部合併(Inner Join)就是用來消除cross product所產生之不合理結果。
簡單來說cross product 比較像一次把資料全部撈出來,程式開發人員然後再利用其他種join方式來取出自己要的資料。
2.內部合併(Inner Join)
又稱為condition join,也就是上述所說Cross join後在加上兩張或以上的資料表之間的條件限制or稱為Mapping關係,而合成之合併。
可以參考P4-6圖
3.外部合併(Outer Join)
外部合併又分為下列3種:
A. 左外部合併(left outer join)
以左邊資料表為主,合併後記錄包括:
1.符合兩邊資料表對應關係的紀錄。
2.左邊資料表包但是右邊資料表不包含之資料。
簡單說就是,以左邊資料表為主,所以左邊資料表紀錄必須全部顯示出來,但右邊資料表則未必。
合併後之資料表,左邊資料表對應不到右邊資料紀錄,則會在右邊資料表紀錄填上null值(空值)。
可參考P4-11 圖4-12
B.右外部合併(right outer join)
意義同上。
C.完全外部合併(full outer join)
此join包括:
1.左邊資料表對應到右邊資料紀錄。
2.,左邊資料表對應不到右邊資料紀錄,則會在右邊資料表紀錄填上null值(空值)。
3.右邊資料表對應不到左邊資料紀錄,則會在左邊資料表紀錄填上null值(空值)。
可以參考P4-18 圖4-21
4.自我合併(Self-Join)
實際上只有一個資料表,但合併時將此一資料表當成兩個不同資料表。
透過單一資料表自我查詢,達到自我合併之基礎。也就是說將同一張資料表,利用不同別名來進行合併。
可以參考p4-27 圖4-32