LeftJoin
和 InnerJoin
是 SQL 中两种常见的连接方式,它们在处理表格数据时有一些不同之处。
- 返回结果集:
InnerJoin
:当两个表进行连接时,只会返回那些在两个表中都存在的记录。也就是说,如果某条记录只在其中一个表中存在,而在另一个表中不存在,则这条记录不会出现在结果集中。LeftJoin
(或称为 Left Outer Join):当两个表进行连接时,会返回左表(第一个表)中的所有记录。对于那些在右表(第二个表)中没有匹配的记录,将会用 NULL 值填充。因此,左表的记录数不会减少。
- 语法:
以下是 SQL 中 InnerJoin
和 LeftJoin
的基本语法:
-- InnerJoin 语法 SELECT * FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; -- LeftJoin 语法 SELECT * FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
- 应用场景:
InnerJoin
适用于你只关心两个表共有的数据时。LeftJoin
适用于你需要从左表中获取所有数据,并且想要查看与右表匹配的数据时。
总之,LeftJoin
和 InnerJoin
的主要区别在于它们处理表格数据时返回的结果集不同。InnerJoin
只返回两个表中都存在的记录,而 LeftJoin
返回左表中的所有记录,对于右表中没有匹配的记录使用 NULL 值填充。