MySQL 7种Join的定义&图解&示范&结果(所有join类型)
warning:
这篇文章距离上次修改已过182天,其中的内容可能已经有所变动。
MySQL中的JOIN语句用于在两个或多个表之间执行连接查询。以下是7种JOIN类型的概述、图解、示例代码和结果:
INNER JOIN(内连接)
仅选择两个表中有匹配的行。
SELECT *
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
LEFT JOIN(左连接)
从左表选择所有记录,即使右表中没有匹配。
SELECT *
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
RIGHT JOIN(右连接)
从右表选择所有记录,即使左表中没有匹配。
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
FULL OUTER JOIN(全外连接)
从两个表中选择所有记录,无论是否匹配。
SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
CROSS JOIN(交叉连接)
返回两个表的笛卡尔积。
SELECT *
FROM table1
CROSS JOIN table2;
NATURAL JOIN(自然连接)
自动匹配相同名称的列并选择相应的行。
SELECT *
FROM table1
NATURAL JOIN table2;
UNION JOIN(联合查询)
结合两个或多个SELECT语句的结果集。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
以上代码示例和查询结果仅供参考,具体使用时需要根据实际数据表结构和查询需求进行调整。
评论已关闭