內連接:INNER JOIN或者JOIN,把兩個表中數據對應的數據查出來。
外連接:OUTER JOIN,以某個表為基礎把對應數據查出來,分為左外連接和右外連接。
左外連接:LEFT JOIN或者LEFT OUTER JOIN,以某個表為基礎把對應數據查出來。
右外連接:RIGHT JOIN或者RIGHT OUTER JOIN,以某個表為基礎把對應數據查出來。
全連接:FULL JOIN,以多個表為基礎
例子:
a表 id name
1 張3
2 李四
3 王武
b表 id job parent_id
1 23 1
2 34 2
3 34 4
a.id同b.parent_id 存在關系
內連接
select a.*,b.* from a inner join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
左連接
select a.*,b.* from a left join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
3 王武 null
右連接
select a.*,b.* from a right join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
null 3 34 4
完全連接
select a.*,b.* from a full join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
外連接:OUTER JOIN,以某個表為基礎把對應數據查出來,分為左外連接和右外連接。
左外連接:LEFT JOIN或者LEFT OUTER JOIN,以某個表為基礎把對應數據查出來。
右外連接:RIGHT JOIN或者RIGHT OUTER JOIN,以某個表為基礎把對應數據查出來。
全連接:FULL JOIN,以多個表為基礎
例子:
a表 id name
1 張3
2 李四
3 王武
b表 id job parent_id
1 23 1
2 34 2
3 34 4
a.id同b.parent_id 存在
內連接
select a.*,b.* from a inner join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
左連接
select a.*,b.* from a left join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
3 王武 null
右連接
select a.*,b.* from a right join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
null 3 34 4
完全連接
select a.*,b.* from a full join b on a.id=b.parent_id
結果是
1 張3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null