数据库连接 举例说明

表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)中全部匹配的行


 

原文地址:https://www.cnblogs.com/xlhblogs/p/2220292.html