一、不同类型的JOIN操作
INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。
二、区别
INNER JOIN:
只返回两个表之间匹配的行。它基于连接条件从两个表中选择共享相同值的行,并将它们合并为一个结果集。如果某个表中的行没有与另一个表中的行匹配,则该行不会出现在结果中。
LEFT JOIN:
返回左表(即第一个表)中的所有行和与之匹配的右表(即第二个表)中的行。如果右表中没有与左表中的行匹配的行,则右表中的列将被设置为NULL。
RIGHT JOIN:
返回右表(即第二个表)中的所有行和与之匹配的左表(即第一个表)中的行。如果左表中没有与右表中的行匹配的行,则左表中的列将被设置为NULL。
FULL JOIN:
返回两个表中的所有行,无论它们是否互相匹配。如果某个表中的行没有与另一个表中的行匹配,则对应的列将被设置为NULL。
总结:
INNER JOIN只返回匹配的行,
LEFT JOIN返回左表中的所有行和匹配的右表中的行,
RIGHT JOIN返回右表中的所有行和匹配的左表中的行,
FULL JOIN返回两个表中的所有行。