什么是内连接、外连接、交叉连结、笛卡尔积?

什么是内连接、外连接、交叉连结、笛卡尔积?

什么是内连接、外连接、交叉连结、笛卡尔积?

1、内连接(Inner Join)2、左外连接(Left Outer Join)3、右外连接(Right Outer Join)4、全外连接(Full Outer Join)5、交叉连接(Cross Join)

💖The Begin💖点点关注,收藏不迷路💖

在数据库查询中,连接(Join)是一种用于将两个或多个表中的行联合起来的操作。在实际应用中,常见的连接类型包括内连接、外连接、交叉连接以及全外连接,每种连接类型都有其独特的特点和用途。

详解见: Mysql数据库入门基础篇–mysql 多表查询

1、内连接(Inner Join)

内连接是连接操作中最常见的一种类型。它只返回两个表中在连接条件下匹配的行。简而言之,内连接只包含那些在两个表中都存在匹配值的行。

SELECT a.*, b.*

FROM table1 AS a

INNER JOIN table2 AS b ON a.key = b.key;

2、左外连接(Left Outer Join)

左外连接会返回左表中的所有行,以及右表中与左表中行匹配的行。如果右表中没有匹配的行,那么结果集中右表对应的列将包含 NULL 值。

SELECT a.*, b.*

FROM table1 AS a

LEFT JOIN table2 AS b ON a.key = b.key;

3、右外连接(Right Outer Join)

右外连接与左外连接类似,不过它返回的是右表中的所有行,以及左表中与右表中行匹配的行。如果左表中没有匹配的行,那么结果集中左表对应的列将包含 NULL 值。

SELECT a.*, b.*

FROM table1 AS a

RIGHT JOIN table2 AS b ON a.key = b.key;

4、全外连接(Full Outer Join)

全外连接返回两个表中的所有行,不管另外一边的表中是否存在与它们匹配的行。 如果某一边的表中没有匹配的行,那么结果集中对应的列将包含 NULL 值。

SELECT a.*, b.*

FROM table1 AS a

FULL OUTER JOIN table2 AS b ON a.key = b.key;

5、交叉连接(Cross Join)

交叉连接是一种特殊的连接,它返回两个表的笛卡尔积,即两个表中的每一行都与另一个表中的每一行组合在一起。交叉连接不使用任何匹配或者选取条件。

SELECT a.*, b.*

FROM table1 AS a

CROSS JOIN table2 AS b;

💖The End💖点点关注,收藏不迷路💖

相关阅读

如皋黄氏中医世家与健康长寿
365bet网站是多少

如皋黄氏中医世家与健康长寿

📅 06-27 👁️ 2922
储蓄国债知识宣传(四):储蓄国债(电子式)的发行、兑付及质押贷款
365bet在线娱

储蓄国债知识宣传(四):储蓄国债(电子式)的发行、兑付及质押贷款

📅 06-28 👁️ 4458
【图】偏分头怎么吹才有型 两个技巧你应该掌握!
日博365网

【图】偏分头怎么吹才有型 两个技巧你应该掌握!

📅 07-03 👁️ 3421