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

admin2年前 (2024-06-05)基础运维知识533
点击下载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 版本号 直接查询 最直接的方法是使用 SELECT VERSION() 语句: SELECT VERSION();登录后复制 此语句将返回 MySQL 服务器的完整版本号,包括...

mysql怎么停止服务-mysql教程

如何在 MySQL 中停止服务 要停止 MySQL 服务,请按照以下步骤操作: 方法 1:使用 MySQL 命令行客户端 打开命令行终端。 连接到 MySQL 服务器: <a style=...

mysql怎么使用权限验证-mysql教程

MySQL 权限验证 如何使用 MySQL 权限验证? 要使用 MySQL 权限验证,需要执行以下步骤: 创建 MySQL 用户:使用 CREATE USER 语句创建新用户。 授予权限:使用...

sql本地数据库怎么连接-SQL

SQL 本地数据库连接方法 连接到本地 SQL 数据库需要以下步骤: 第一步:选择数据库管理系统 (DBMS) 最常见的 DBMS 是 MySQL、PostgreSQL、SQL Server 和...

mysql自增id用完了怎么办-mysql教程

MySQL 自增 ID 用完了怎么办 当 MySQL 表中的自增 ID 用完时,数据库将无法为新插入的记录分配唯一的 ID。这会导致数据完整性问题。解决此问题的步骤如下: 1. 更改自增 ID 列的...

发表评论

访客

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