SQL中的 JOIN 操作是根据两个或多个表之间的相关列将它们合并在一起的查询操作,能够大大提高查询效率,本文将对常用的几种 JOIN 操作进行深度解析。
INNER JOIN
只返回两个表中匹配的行,如果某个表中的行在另一个表中没有匹配的行,则这些行不会出现在结果集中,即求两个表的交集。
1234SELECT *FROM AINNER JOIN BON A.key = B.key;
INNER JOIN 可以用于整合不同表中有关联的数据,例如有一个员工表和一个员工薪资表,需要同时查询员工信息和薪资,就可以使用 INNER JOIN 整合两个表的数据。
LEFT JOIN
返回左表(第一个表)的所有行,即使右表(第二个表)中没有匹配的行。如果右表中没有匹配的行,结果集中的右表列将填充NULL值。
1234SELECT *FROM ALEFT JOIN BON A.key = B.key;
同样是员工表和薪资表,如果并不是所有员工都有薪资记录,因为他们刚刚加入公司,或者薪资数据还未更新等,我们想要查询所有员工的信息和薪资,就得允许结果集中存在薪资为 NULL 的数据,这个时候 ...