Left join,Right join,Inner join 

首先Join的前提是两个有相同的变量作为连接纽带,left join 和 right join如下图所示,inner join则是两圆交集

MySQL left join,right join,inner join 以及where和on的区别

举个例子,user表和group表通过gid字段连接,有交集,有补集

MySQL left join,right join,inner join 以及where和on的区别

Right Join

MySQL left join,right join,inner join 以及where和on的区别

Left Join

MySQL left join,right join,inner join 以及where和on的区别

Inner Join

MySQL left join,right join,inner join 以及where和on的区别

这样大家对Join的理解应该很清晰了


where和on的区别

where是对已经搜索出的结果的过滤条件

on是两者join形成新表时用到的匹配条件

以right join为例 分别用where和on过滤mygroup.gid>4

where

where过滤掉gid为4的记录

MySQL left join,right join,inner join 以及where和on的区别

on 

先查出右边

匹配pid>4的相同pid后 

把user表向右join进右表

MySQL left join,right join,inner join 以及where和on的区别


相关文章: