1、JOIN=INNER JOIN
2、INNER JOIN为内连接---eg : a INNER JOIN b ON a.id=b.id 即a表和b表中id相等的行;
LEFT JOIN 为左连接---eg : a LEFT JOIN b ON a.id=b.id 即a表中所有记录,其中某些属b中的列下数据可能为null;
RIGHT JOIN 为右连接---eg : a RIGHT JOIN b ON a.id=b.id 即b表中所有记录,其中某些属a表的列下书库可能为null
2019年2月22日更新:
1、inner 会将两个表都有的数据的展示,故叫内连接;
2、A LEFT JOIN B == B RIGHT JOIN A
3、A LEFT JOIN B 与 A RIGHT JOIN B 的区别:首先两者筛选出的行数是相等的,差别在于两者的结果呈现中主键列可能存在空值。
举个栗子:
SELECT dept.name, COUNT(teacher.name) FROM teacher JOIN dept ON dept.id = teacher.dept GROUP BY dept.name 结果为:
SELECT dept.name, COUNT(teacher.name) FROM teacher LEFT JOIN dept ON dept.id = teacher.dept GROUP BY dept.name 结果为:
SELECT dept.name, COUNT(teacher.name) FROM teacher RIGHT JOIN dept ON dept.id = teacher.dept GROUP BY dept.name 结果为: