1. 程式人生 > >SQL的左外連線 右外連線 內連線 全連線

SQL的左外連線 右外連線 內連線 全連線

a表     id   name                      b表     id           a_id   
              1   張三                                1     23     1   


              2   李四                                2     34     2   
              3   王五                      

    

 

1.內聯接inner   join    值c
簡單來說取交集 

2.左外連結LEFT  JOIN  值ac

左向外聯接的結果集包括  LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。       

select * from a left join b on a.id=b.a_id

結果       1   張三      1     23        
              2   李四       2     34     
              3   王五  

 

3.RIGHT  JOIN      值bc
右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。       

select * from a right join b on a.id=b.a_id

結果             1     23        1   張三
                    2     34       2   李四
               

4.FULL  JOIN  值abc
完整外部聯接返回左表和右表中的所有行。當某行在另一個表中沒有匹配行時,則另一個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。