INNER JOIN中and和where没有什么区别,都是取交集的数据。
RIGHT JOIN和LIFT JOIN中and和where的效果基本相同,主要一个是左边表,另一个是右边表。
数据表
a表
b表
SELECT * FROM a LEFT JOIN b on a.id=b.id; =>表示查询显示a表所有的数据,b表查询仅显示a.id=b.id的数据
SELECT * FROM a LEFT JOIN b on a.id=b.id WHERE b.id>2; =>where表示只查询a.id=b.id,而且查询只显示a和b的id值都大于2的数据
SELECT * FROM a LEFT JOIN b on a.id=b.id AND b.id>2; =>表示查询显示a表所有的数据,b表查询仅显示id大于2的数据