MySQL多表查询

多表查询的分类

A)内连接:join,inner join
B)外连接:left join,left outer join,right join,right outer join,union
C)交叉连接:cross join


下面以实例进行分析

两张假设有两张表格A和B,把表格当作一个集合,那么表格中的记录就是集合中的一个元素。

两张表格如下:

TableA:TableB:


内连接(只有一种场景)inner join 或者join(等同于inner join)

select a.*,b.* from tablea a inner join tableb b on a.id=b.id



select a.*,b.* from tablea join tableb on a.id=b.id


这种场景下得到的是满足某一条件的A,B内部的数据;正因为得到的是内部共有数据,所以连接方式称为内连接。


外连接


left join 或者left outer join(等同于left join)


select a.*,b.* from tablea a left join tableb b on a.id=b.id


右外连接查询


select a.id aid,a.age,b.id bid,b.name from tablea a  
right join tableb b
on a.id = b.id