left join / right join /inner join 區別

left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄  

right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄

 inner join(等值連接) 只返回兩個表中聯結字段相等的行

test1表

id   name

1   aa1
2   aa2
3   aa3
4   aa4
5   aa5
6   aa6

 

test3表

id   name

1   aa1
2   aa2
332  aa3
4   aa4
5   aa5
66 aa6

 

 

SELECT * from test3 A inner JOIN test1 b on a.id=b.id

1 aa1 1 aa1
2 aa2 2 aa2
4 aa4 4 aa4
5 aa5 5 aa5

 

SELECT * from test3 A left JOIN test1 b on a.id=b.id

1       aa1     1     aa1
2       aa2     2     aa2
4       aa4     4     aa4
5       aa5     5     aa5
332   aa3  
66    aa6  

 

SELECT * from test3 A right JOIN test1 b on a.id=b.id

1    aa1    1   aa1
2    aa2    2   aa2
4    aa4    4   aa4
5    aa5    5   aa5
                 6   aa6
                 3   aa3

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章