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

admin2年前 (2024-06-05)基础运维知识313
点击下载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 数据库可以通过以下步骤实现: 步骤 1:连接到数据库 使用 MySQL 命令行客户端或其他数据库工具连接到需要导入数据...

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

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

sql分页查询语句怎么写-SQL

SQL 分页查询语句详解 分页查询是数据查询中常用的操作,它可以将查询结果分成多个页面,方便用户查看和操作。SQL 中分页查询的实现需要用到 LIMIT 和 OFFSET 子句。 语法: SELEC...

mysql自增id怎么办-mysql教程

MySQL 的自增 ID 机制 MySQL 数据库使用自增 ID 机制为新插入的行自动生成唯一的 ID 值。这个 ID 值通常是一个递增的整数,例如 1、2、3 等。自增 ID 机制在许多情况下都非...

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

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

mysql循环怎么写-mysql教程

MySQL 循环 在 MySQL 中执行循环有以下几种方法: 1. WHILE 循环 WHILE DO END WHILE;登录后复制 :循环的条件,当条件为 TRUE 时,循环将继续执行...

发表评论

访客

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