左外鏈接/右外鏈接

假設a表有兩個字段,Aid、name,  b 表也有兩字段 Bid,nameid 其中 nameid是Aid在b 表中的外鍵spa

a表有數據以下:select

Aid name數據

1    aco

2    bjoin

3   c

b表有數據以下:

Bid nameid

1    1

2    1

3    1

4    2

5    2

用左鏈接,說白一點就是以左邊那個表爲標準,左邊那表(表a)的全部記錄必須得所有出現

例如: select * from a left join b on a.Aid=b.nameid 結果應應該爲:

Aid name Bid nameid

1    a       1    1

1    a       2    1

1    a       3    1

2    b       4    2

2    b       5    2

3    c     NULL  NULL

表a 的 Aid爲1的出現了三次,Aid爲2的出現了兩次,Aid爲3的出現了一次,所有都出現了。

但由於在表b中沒有以Aid爲3對應的記錄,因此用null來填充。

一樣道理,用右鏈接,說白一點就是以右邊那個表爲標準, 例如:select * from a right join b on a.Aid=b.nameid 結果應該爲:

Aid name Bid nameid

1    a       1    1

1    a       2    1

1    a       3    1

2    b       4    2

2    b       5    2

表b的記錄必須所有出現,但沒有出現 a表中Aid爲3的記錄,是由於b表中沒有以之對應的記錄,並且此時是以b表爲標準的。

相關文章
相關標籤/搜索