mysql join鏈接

鏈接類型

  分爲三種:交叉鏈接、內鏈接、外鏈接。spa

交叉鏈接 cross join

  沒有where子句的交叉鏈接將產生鏈接表的笛卡爾積,等同於inner join。select

        select * from R cross join S;遍歷

內鏈接

  內鏈接分爲三種:天然鏈接、等值鏈接、非等值鏈接。查詢

  天然鏈接 natural join:在鏈接條件中使用等於=運算符比較被鏈接列的列值,但刪除鏈接表中重複列。join

  select * from R natural join S;oss

        等值鏈接 :使用等於=比較鏈接列的列值,在查詢結果中列出接連表中的全部列,包括其中的重複列。運算符

  select * from R join S where R.C = S.C;

  或

  select * from R inner join S where R.C = S.C;

    

        非等值鏈接 :在鏈接條件中,能夠使用其餘比較運算符,比較被鏈接列的列值,如:<、>、!=等。

外鏈接

外鏈接分爲三類:全外鏈接、左外鏈接、右外鏈接。

  左外鏈接 left join / left outer join

  select * from R left join S on R.C = S.C;

        左外鏈接要遍歷左表的全部記錄,右表沒有的用null表示。

  右外鏈接 right join / right outer join

  select * from R right join S on R.C = S.C;

       右外鏈接要遍歷右表全部的記錄,左表沒有的用null表示。

  全外鏈接 full join / full outer join

  select * from R full join S on R.C = S.C;

        全鏈接產生的全部記錄(雙方匹配記錄)在表R和表S。若是沒有匹配,則對面將包含null。

相關文章
相關標籤/搜索