在网上找了点资料,基本了解了下。
数据库表:
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