inner join on和left join on区别
时间: 2023-10-27 15:06:24 浏览: 32
INNER JOIN ON 和 LEFT JOIN ON 是关系型数据库中的两种常见的 JOIN 操作。它们的区别在于 JOIN 的方式和结果集的不同。
INNER JOIN ON 是一种基于两个表中有相同值的列来连接表的方式,它会返回两个表中都存在的数据。如果两个表中的数据没有匹配的值,则不会显示这些数据。
LEFT JOIN ON 也是基于两个表中有相同值的列来连接表的方式,但它会返回左侧表中的所有数据,不论右侧表中是否存在匹配的值。如果右侧表中没有匹配的值,则返回 NULL。
简单来说,INNER JOIN ON 只返回两个表中都存在的数据,而 LEFT JOIN ON 则返回左侧表的所有数据和右侧表中匹配的数据。
相关问题
left outer join on和inner join on区别
LEFT OUTER JOIN 和 INNER JOIN 都是用于在 MySQL 中连接两个或多个表格的方式,但是它们的区别在于连接的方式和结果集的不同。
LEFT OUTER JOIN(左外连接)是以左边的表格为基础,连接右边的表格,保留左边表格中所有记录和右边表格中符合条件的记录。如果右边的表格中没有符合条件的记录,则用 NULL 填充。例如:
```
SELECT *
FROM table1
LEFT OUTER JOIN table2
ON table1.column1 = table2.column1;
```
这个语句将会以 table1 表格为基础,连接 table2 表格,并保留 table1 表格中的所有记录和 table2 表格中符合条件的记录。如果 table2 表格中没有符合条件的记录,则使用 NULL 填充。
INNER JOIN(内连接)是以两个表格的交集为基础,连接两个表格,只返回符合条件的记录。例如:
```
SELECT *
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column1;
```
这个语句将会以 table1 和 table2 表格的交集为基础,连接两个表格,并只返回符合条件的记录。
需要注意的是,在使用 LEFT OUTER JOIN 时,如果左边表格中有重复记录,则会保留重复记录,而 INNER JOIN 则不会保留重复记录。
inner join on 与 left join 和right join区别
内连接(inner join)、左连接(left join)和右连接(right join)都是 SQL 中的连接操作,主要用于将两个或多个表中的数据合并到一起。
内连接(inner join)是指只返回两个表中有匹配数据的部分,即两个表中连接字段相同的行。如果一个表中没有与另一个表匹配的数据,则该表的数据不会出现在结果中。
左连接(left join)返回两个表中所有左表(即“left”)中的行,以及与右表中连接字段匹配的行。如果右表中没有与左表匹配的数据,则结果集中将显示 NULL 值。
右连接(right join)返回两个表中所有右表(即“right”)中的行,以及与左表中连接字段匹配的行。如果左表中没有与右表匹配的数据,则结果集中将显示 NULL 值。
简单来说,内连接只返回两个表中匹配的数据,左连接返回左表中的所有数据以及与右表中匹配数据,右连接返回右表中的所有数据以及与左表中匹配的数据。
希望能对您有所帮助!