1. 程式人生 > >資料庫-內連線與外連線的區別(舉例說明)

資料庫-內連線與外連線的區別(舉例說明)

內連線,也被稱為自然連線,只有兩個表相匹配的行才能在結果集中出現。返回的結果集選取了兩個表中所有相匹配的資料,捨棄了不匹配的資料。由於內連線是從結果表中刪除與其他連線表中沒有匹配的所有行,所以內連線可能會造成資訊的丟失。內連線語法如下:

select fieldlist from table1 [inner] join table2 on table1.column = table2.column

內連線是保證兩個表中所有行都滿足連線條件,而外連線則不然。

外連線不僅包含符合連線條件的行,還包含左表(左連線時)、右表(右連線時)或兩個邊接表(全外連線)中的所有資料行。SQL外連線共有三種類型:左外連線(關鍵字為LEFT OUTER JOIN)、右外連線(關鍵字為RIGHT OUTER JOIN)和全外連線(關鍵字為FULL OUTER JOIN)。外連線的用法和內連線一樣,只是將INNER JOIN關鍵字替換為相應的外連線關鍵字即可。

內連線只顯示符合連線條件的記錄,外連線除了顯示符合條件的記錄外,還顯示錶中的記錄,例如,如果使用左外連線,還顯示左表中的記錄。

例:下面為學生表A和學生表B:

    

對錶A和表B做內連線和左外連線後的結果如下所示: