left join 和inner join有什么区别
时间: 2023-07-12 09:04:24 浏览: 106
SQL之left join、right join、inner join的区别浅析
left join 和 inner join 是 SQL 中用于联结表的不同类型的 join 操作。它们的区别在于:
1. Inner Join:inner join 会返回两个表中都存在的记录,也就是只返回两个表中都匹配的行,不会返回任何一个表中不匹配的行。
2. Left Join:left join 会返回左边的表中所有的记录,而右边的表中如果有匹配的记录则返回匹配的记录,如果没有匹配的记录则返回 NULL。
简单来说,inner join 只返回两个表中都匹配的行,而 left join 则会返回左表中所有的行以及右表中匹配的行。
举个例子,假设有两个表 A 和 B,A 中有 5 条记录,B 中有 3 条记录。其中 A 和 B 的 id 列有两条记录是相同的,其余记录都不相同。
使用 inner join 操作时,会返回两个表中 id 列相同的两条记录,也就是返回两条记录。
使用 left join 操作时,会返回 A 表中的所有记录,同时也会返回 B 表中和 A 表中 id 列相同的两条记录,其余记录则会用 NULL 补充,也就是返回 5 条记录。
希望这个例子可以帮助你理解 left join 和 inner join 的区别。
阅读全文