FULL JOIN 和 INNER JOIN 是 SQL 中两种不同类型的连接查询
- FULL JOIN(全连接): FULL JOIN 会返回两个表中所有的数据行,包括匹配和不匹配的行。当某行在一个表中没有匹配的行时,结果集中的其他表的列将显示为 NULL。换句话说,FULL JOIN 结果集中的行数等于两个表中的行数之和,减去两个表中相同键值的行数。
语法:
SELECT column_name(s) FROM table1 FULL JOIN table2 ON table1.column_name = table2.column_name;
- INNER JOIN(内连接): INNER JOIN 只返回两个表中具有匹配关系的数据行。如果某行在一个表中没有匹配的行,则该行不会出现在结果集中。因此,INNER JOIN 结果集中的行数等于两个表中相同键值的行数。
语法:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
总结:
- FULL JOIN 返回两个表中所有的数据行,包括匹配和不匹配的行;
- INNER JOIN 只返回两个表中具有匹配关系的数据行。