首页 > 数据库 > mysql教程 > 内部,左,右和完整连接在SQL上有何不同?

内部,左,右和完整连接在SQL上有何不同?

Linda Hamilton
发布: 2025-01-25 15:07:09
原创
662 人浏览过

How Do INNER, LEFT, RIGHT, and FULL JOINs Differ in SQL?

深入理解SQL JOIN:INNER、LEFT、RIGHT和FULL JOIN详解

SQL JOIN是数据检索中的核心操作,允许我们基于公共字段组合多个表中的行。在MySQL中,有多种JOIN类型可供选择,每种类型都提供了一种特定方式来处理匹配和不匹配的行。

不同SQL JOIN类型的区别

INNER JOIN

  • 基于匹配条件连接两个表。
  • 只返回公共字段在两个表中都匹配的行。

LEFT JOIN

  • 基于匹配条件连接两个表。
  • 返回左侧表的所有行,即使右侧表中没有匹配的行。
  • 右侧表中不匹配的行用NULL值填充。

RIGHT JOIN

  • 与LEFT JOIN类似,但返回右侧表的所有行,即使左侧表中没有匹配的行。
  • 左侧表中不匹配的行用NULL值填充。

FULL JOIN

  • 组合LEFT和RIGHT OUTER JOIN的结果。
  • 返回两个表的所有行,无论是否存在匹配。
  • 任何一个表中不匹配的行都用NULL值填充。

实际案例

考虑以下示例表:

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>
登录后复制
登录后复制

INNER JOIN:

<code>SELECT *
FROM 表A
INNER JOIN 表B
ON 表A.id = 表B.id2;</code>
登录后复制

结果:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm

LEFT JOIN:

<code>SELECT *
FROM 表A
LEFT JOIN 表B
ON 表A.id = 表B.id2;</code>
登录后复制

结果:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
New Abc NULL NULL

RIGHT JOIN:

<code>SELECT *
FROM 表A
RIGHT JOIN 表B
ON 表A.id = 表B.id2;</code>
登录后复制

结果:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
NULL NULL 24 Chennai

FULL JOIN:

<code>表A:
| id | firstName | lastName |
|---|---|---|
| 1 | Arun | Prasanth |
| 2 | Ann | Antony |
| 3 | Sruthy | Abc |
| 6 | New | Abc |

表B:
| id2 | age | place |
|---|---|---|
| 1 | 24 | Kerala |
| 2 | 24 | Usa |
| 3 | 25 | Ekm |
| 5 | 24 | Chennai |</code>
登录后复制
登录后复制

结果:

firstName lastName age place
Arun Prasanth 24 Kerala
Ann Antony 24 Usa
Sruthy Abc 25 Ekm
New Abc NULL NULL
NULL NULL 24 Chennai

以上是内部,左,右和完整连接在SQL上有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板