mysql中内连接,左连接和右连接的区别-mysql教程

admin2年前 (2024-06-05)基础运维知识535
点击下载TXT

MySQL 中内连接、左连接和右连接的区别

内连接 (INNER JOIN)

  • 只返回两个表中具有匹配行的记录。
  • 匹配失败的记录将被丢弃。

左连接 (LEFT JOIN)

  • 返回左表中的所有记录,即使右表中没有匹配的行。
  • 右表中没有匹配行的记录将用 NULL 值填充。

右连接 (RIGHT JOIN)

  • 返回右表中的所有记录,即使左表中没有匹配的行。
  • 左表中没有匹配行的记录将用 NULL 值填充。

用法

  • 内连接:用于查找两个表之间具有匹配行的记录,并丢弃不匹配的记录。
  • 左连接:用于查找左表的所有记录,并包含右表中匹配行的记录。
  • 右连接:用于查找右表的所有记录,并包含左表中匹配行的记录。

语法

  • 内连接:

    SELECT *
    FROM table1
    INNER JOIN table2
    ON table1.column1 = table2.column2;
    登录后复制
  • 左连接:

    SELECT *
    FROM table1
    LEFT JOIN table2
    ON table1.column1 = table2.column2;
    登录后复制
  • 右连接:

    SELECT *
    FROM table1
    RIGHT JOIN table2
    ON table1.column1 = table2.column2;
    登录后复制

例子

假设我们有以下两个表:

Table1:
| id | name |
|---|---|
| 1 | John |
| 2 | Mary |
| 3 | Bob |

Table2:
| id | address |
|---|---|
| 1 | 123 Main St |
| 2 | 456 Elm St |
| 4 | 789 Oak St |
登录后复制
  • 内连接:

    SELECT *
    FROM Table1
    INNER JOIN Table2
    ON Table1.id = Table2.id;
    登录后复制

    结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St
  • 左连接:

    SELECT *
    FROM Table1
    LEFT JOIN Table2
    ON Table1.id = Table2.id;
    登录后复制

    结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St
3 Bob NULL
  • 右连接:

    SELECT *
    FROM Table1
    RIGHT JOIN Table2
    ON Table1.id = Table2.id;
    登录后复制

    结果:

id name address
1 John 123 Main St
2 Mary 456 Elm St
4 NULL 789 Oak St

相关文章

mysql 42000到底怎么解决-mysql教程

如何解决 MySQL 错误 42000 MySQL 错误 42000 通常是由锁等待造成的。当一个线程尝试获取另一个线程已持有的锁时,就会发生这种情况。 解决方法: 1. 确定导致锁等待的查询 使...

怎么查看mysql是否安装成功-mysql教程

如何验证 MySQL 是否成功安装? 为了验证 MySQL 是否成功安装,您可以按照以下步骤操作: 1. 打开终端或命令提示符 在您的操作系统上打开终端或命令提示符窗口。 2. 输入以下命令: &l...

mysql是什么有什么用-mysql教程

什么是 MySQL? MySQL 是一个开源关系数据库管理系统(RDBMS),用于存储和管理数据。它是一种广泛用于 Web 应用程序、电子商务和数据仓储等各种领域的流行数据库。 MySQL 的用途...

mysql交集数据怎么获取-mysql教程

如何在 MySQL 中获取交集数据 交集运算 交集运算用于获取同时出现在两个表中的一组行。对于表 A 和 B,它们的交集表示为 A ∩ B,其中包含同时出现在 A 和 B 中的所有行。 MySQL...

mysql管理工具有什么用-mysql教程

MySQL 管理工具的作用 MySQL 管理工具是一款专用于管理和维护 MySQL 数据库的软件应用程序。它为用户提供了直观的用户界面,使他们能够轻松执行以下任务: 1. 数据库连接和管理 连接到...

mysql分表怎么算的-mysql教程

MySQL分表计算 MySQL分表是一种水平拆分数据库表的方法,它将大型表拆分为多个较小的表,以提高性能和可扩展性。要计算所需的分表数,需要考虑以下因素: 1. 数据量 估计表中数据的总量。数据量越...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。