SQL語句的各種聯接

  • inner    join    內聯接(左右不爲Null)
    select    *    from    tableA    a   inner  join    tableB    b    on    a.id=b.id
        內聯接——只產生全部表中存在匹配的記錄,就是常見的where語句鏈接,兩邊的表返回的都是匹配的記錄。
  • left    outer    join    左外聯接(左全右Null)
    select    *    from    tableA    a    left    join    tableB    b    on    a.id=b.id
       左外聯接——左表的全部記錄都出如今結果集中,而右表有匹配則顯示記錄,無匹配則顯示NULL。
  • rigth    outer    join   右外聯接(左Null右全)
    select    *    from    tableA    a    right    join    tableB    b    on    a.id=b.id
       右外聯接——右表的全部記錄都出如今結果集中,而左表有匹配則顯示記錄,無匹配則顯示NULL。
  • full    outer    join  全外聯接(左外聯接 + 右外聯接)
    select    *    from    tableA    a    full    join    tableB    b    on    a.id=b.id
       全外聯接——返回左表和右表中的全部行。當某行在另外一個表中沒有匹配行時,則另外一個表的選擇列表列包含空值。若是表之間有匹配行,則整個結果集行包含基表的數據值。
  • cross    join   交叉聯接(返回笛卡爾乘積)
    select    *    from    tableA    a    cross    join    tableB 
         交叉聯接---返回左表中的全部行,左表中的每一行與右表中的全部行組合。交叉聯接也稱做笛卡爾積。
相關文章
相關標籤/搜索