sql語言中join操作

trilever發表於2016-10-10
主、外來鍵關係對應:
  • 主鍵:可以唯一標示資料表中的一行的欄位,例如省份碼錶中的省份id這個欄位即是如此。

  • 外來鍵:可以找到與其關聯的資料表中唯一的一行的欄位,例如某張事實表中的省份id這個欄位即是如此,因為可以通過該事實表中的這個省份id去與其關聯的碼錶中找到唯一對應的一行省份資料。這就是外來鍵的作用。

join形式
  • inner join:實現原理就是:先進行全匹配,這樣產生了笛卡爾積,也就是兩個表所有的列都要進行匹配。然後對笛卡爾積結果進行where過濾,產生的就是inner
    join結果。因此我們可以看出,所謂的笛卡爾積就是沒有where條件的inner join。

  • outer join:包括三種,left outer join(也叫left join),right outer join(也叫right join),full outer join(也叫full join)。注意;A left join B == B right join A。

  • 關於left join 操作,以左表為主,但並不是說,left join 結果條數就一定和左表條數一樣,因為對於左表中同一個記錄,右表中可能會有多條記錄與其匹配,這樣就會導致結果集中的結果略多於左表中的條數。同樣對於inner join操作,也可能由於有多個行進行匹配,導致

相關文章