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

admin2年前 (2024-06-05)基础运维知识488
点击下载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授权怎么用-mysql教程

MySQL 授权指南 授权是什么? 授权是指授予其他用户访问和操作 MySQL 数据库的权限。 如何授权? 使用 MySQL 的 GRANT 语句可以授予授权。语法如下: GRANT ON TO...

mysql闪退怎么解决-mysql教程

MySQL闪退解决方案 MySQL闪退,即服务器意外关闭,这可能造成数据丢失和其他问题。以下是如何解决MySQL闪退: 1. 确定原因 错误日志:检查MySQL错误日志(通常位于/var/log...

mysql不能启动怎么办-mysql教程

MySQL无法启动:故障排除指南 原因和解决方案: 1. 进程已经启动 检查进程是否已经启动。运行以下命令: ps -ef |grep <a style="color:#f60;...

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

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

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

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

mysql名字用什么类型-mysql教程

MySQL 中名字字段的数据类型选择 在 MySQL 数据库中,为名字字段选择合适的数据类型至关重要,因为它可以确保数据的准确性和存储效率。以下是一些常见的选项: 1. VARCHAR VARCHA...

发表评论

访客

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