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