mysql外连接和内连接
时间: 2023-09-08 17:09:37 浏览: 107
Mysql中的内连接,外连接实例详解
MySQL中的连接分为内连接和外连接。
内连接(INNER JOIN)是根据两个或多个表之间的共同列的匹配值来返回结果集。它只返回那些在连接的两个表中都存在的匹配行。内连接可以使用JOIN关键字来实现,也可以直接使用逗号(,)将多个表名写在FROM子句中。
示例:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列 = 表2.列;
外连接(OUTER JOIN)则会返回左表或右表中的所有行,即使在另一个表中没有匹配的行。外连接有左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN)三种类型。
左外连接(LEFT JOIN)返回左表中所有的行,以及右表中与左表匹配的行。如果右表中没有匹配的行,则结果集中右表的列为NULL。
示例:
SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.列 = 表2.列;
右外连接(RIGHT JOIN)返回右表中所有的行,以及左表中与右表匹配的行。如果左表中没有匹配的行,则结果集中左表的列为NULL。
示例:
SELECT * FROM 表1 RIGHT JOIN 表2 ON 表1.列 = 表2.列;
全外连接(FULL JOIN)返回左右两个表中的所有行,如果两个表中有不匹配的行,则对应位置为NULL。
示例:
SELECT * FROM 表1 FULL JOIN 表2 ON 表1.列 = 表2.列;
需要注意的是,外连接在使用时需要谨慎,因为它可能会导致结果集中的数据冗余或不准确。
阅读全文