在網上找了點資料,基本瞭解了下。
數據庫表:
a表: b表:
id name id name
1 c1 1 t1
2 c2 2 c2
3 c3 3 t3
5 c5 4 t4
1.inner join: 將內連接兩表中同時符合要求的數據搜出。
例如:
select a.name as name1,b.name as name2 from a inner join b on a.id=b.id
結果爲:
name1 name2
c1 t1
c2 c2
c3 t3
2.left join: 將左邊表記錄全部搜出,右邊表中符合條件的記錄也搜出。
例如:
select a.name as name1,b.name as name2 from a left join b on a.id=b.id
結果爲:
name1 name2
c1 t1
c2 c2
c3 t3
c5
3.right join: 將右邊表記錄全部搜出,左邊表中符合條件的記錄也搜出。
例如:
select a.name as name1,b.name as name2 from a right join b on a.id=b.id
結果爲:
name1 name2
c1 t1
c2 c2
c3 t3
t4
4.union:將兩個表中的記錄整合成一個記錄集。兩邊相同的記錄只會取出一個。要求連接的表的列和列類型一致。
例如:
select a.name from a union select b.name from b
結果爲:
name
c1
c2
c3
c4
c5
t1
t3
t4
5.union all:將兩個表中的記錄整合成一個記錄集。全部取出。要求連接的表的列和列類型一致。
例如:
select a.name from a union select b.name from b
結果爲:
name
c1
c2
c3
c4
c5
t1
c2
t3
t4