表1:tb1结构及值
num name
1 name1
2 name2
2 name3
4 name4
表2:tb2结构及值
num name
1 name1
2 name2
3 name3
执行左连接:select * from tb1 left join tb2 on tb1.num=tb2.num
num name num name
1 name1 1 name1
2 name2 2 name2
2 name3 2 name2
4 name4 NULL NULL
解析:包含左边表(tb1)的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表(tb2)中全部匹配的行
执行内连接:select * from tb1 inner join tb2 on tb1.num=tb2.num
num name num name
1 name1 1 name1
2 name2 2 name2
2 name3 2 name2
解析:只连接匹配的行
执行内连接:select * from tb1 right join tb2 on tb1.num=tb2.num
num name num name
1 name1 1 name1
2 name2 2 name2
2 name3 2 name2
NULL NULL 3 name3
解析:包含右边表(tb2)的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表(tb1)中全部匹配的行