MySQL多表查询

我们在做项目中,经常用到多表查询。多表查询顾名思义就是数据同时从多张表中获得,查询语句牵扯到多张表,多表查询有多种语法,多种使用场景,不同的场景需要不同的语法,我们先不考虑那么多,从头开始理解一下多表查询。下面我教大家实现多表查询操作。

交叉连接

语法:SELECT * FROM  表1,表2;

交叉查询结果的效果图:

 

交叉查询在项目中是不经常用的,我就不详细介绍了。

join操作

在多表查询的join是最常用的,经常使用join是以下四种连接:

INNER JOIN(内连接):同时满足两个表的条件,则返回行

LEFT JOIN(左连接):从左表返回所有的行,如果右表中没有匹配,对应的列返回Null

RIGHT JOIN(右连接):从右表返回所有的行 ,如果左表中没有匹配,对应的列返回Null

FULL JOIN(全连接):只要其中一个表中存在匹配,则返回行(即结合左连接和右连接的结果)

语法

内连接:SELECT * FROM  表1  INNER JOIN  表2  ON  表1.id=表2.id

左连接:SELECT * FROM  表1  LEFT JOIN   表2   ON  表1.id=表2.id

右连接:SELECT * FROM  表1  RIGHT JOIN   表2   ON  表1.id=表2.id

全连接:SELECT * FROM  表1  UNION  SELECT * FROM  表2 

    或   SELECT * FROM  表1  UNION  ALL SELECT * FROM  表2

原文地址:https://www.cnblogs.com/bushui/p/11758114.html