mysql左连接、右连接、内连接、全连接

连接类型:
左连接(left join):返回左表全部数据和右表符合连接条件的数据
右连接(right join):返回右表全部数据和左表符合连接条件的数据
内连接(inner join):只返回符合连接条件的数据
全连接(full join):返回左表全部数据和右表全部数据

例子:
A表:

id    name    age   sex    b_id
1     张三    10    男      1
2     李四    8     女      2
3     麻子    11    男      3

B表:

id     name
1      创新班    
2      尖子班

左连接:

select a.name,a.age,a.sex,b.name as b_name from a left join b on a.b_id = b.id;

结果:
mysql左连接、右连接、内连接、全连接_第1张图片
右连接:

select a.name,a.age,a.sex,b.name as b_name from a right join b on a.b_id = b.id;

结果:
mysql左连接、右连接、内连接、全连接_第2张图片
内连接:

select a.name,a.age,a.sex,b.name as b_name from a inner join b on a.b_id = b.id;

结果:
mysql左连接、右连接、内连接、全连接_第3张图片
注:内连接返回的是符合on连接条件的数据,右连接返回的是右表数据

全连接(mysql暂不支持)

多表查询:

union:需要查询两张或多张表的数据时,用union连接,获取多张表不重复数据

union和union all区别:union all不会去重,会把两张表或多张表的数据全部取出

你可能感兴趣的:(mysql数据库)