MySQL FROM 子句

2025年8月18日 | 阅读 3 分钟

MySQL FROM 子句用于从表中选择一些记录。它还可以使用 JOIN 条件从多个表中检索记录。

这是 MYSQL SELECT 语句 中最重要的部分。在 SELECT 语句中使用 FROM 子句的语法如下:

语法

参数

table1 和 table2: 指定 MySQL 语句中使用的表。这两个表基于 table1.column1 = table2.column1 进行连接。

注意

  • 如果在 MySQL 语句中使用 FROM 子句,那么至少必须选择一个表。
  • 如果要在 MySQL FROM 子句中使用两个或多个表,这些表通常使用 INNER 或 OUTER 连接。

MySQL FROM 子句:从一个表中检索数据

以下查询说明了如何从单个表中检索数据。

使用以下查询

解释: 在上面的查询中,from 子句用于从单个表中获取数据。其中,where 子句用于获取有限的数据。因此,上述语句获取 officer 表中 officer_id 小于或等于 3 的信息。

输出:运行此查询后,表的输出如下。

MySQL from clause 1

MySQL FROM 子句:使用内连接从两个表中检索数据

让我们举一个使用 INNER JOIN 从两个表中检索数据的例子。

这里我们有两个表“officers”和“students”。

MySQL from clause 2

执行以下查询

解释: 在上面的查询中,from 子句用于从两个表(即 officer 和 student)中获取数据,使用了 Join 的概念。其中,INNER join 用于匹配两个表中的公共列,并通过获取两个表中的匹配数据来获得有限的数据。因此,上述语句获取 officer 表和 students 表中 id 匹配的信息。

输出:运行此查询后,表的输出如下。

MySQL from clause 3

MySQL FROM 子句:使用左外连接从两个表中检索数据

执行以下查询

解释: 在上面的查询中,from 子句用于从两个表(如 officer 和 student)中获取数据,使用了 LEFT Outer Join 的概念。其中,join 用于匹配两个表中的公共列(如 ID),并通过获取两个表中的匹配数据以及左表的数据来获得受限数据。因此,上述语句获取 officer 表和 student 表中 id 匹配的信息。

输出:运行此查询后,表的输出如下。

MySQL from clause 4

MySQL FROM 子句:使用右外连接从两个表中检索数据

执行以下查询

解释: 在上面的查询中,from 子句用于从两个表(如 officer 和 student)中获取数据,使用了 RIGHT Outer Join 的概念。其中,join 用于匹配两个表中的公共列(如 ID),并获取两个表中的匹配数据以及右表的数据。

输出:运行此查询后,表的输出如下。

Officer_idOfficer_name
1Ajeet
2Deepika
3Vimal
4Rahul

关于 MySQL FROM 子句的常见问题

1. MySQL FROM 子句中使用的一些关键点列表?

答案: 在 MySQL 语句中使用 from 子句时,以下是一些关键点。

  • 为了提高性能,将 `FROM` 子句限制在完成查询所需的表。
  • 处理多个表时,使用别名进行简单引用并增强可读性。
  • 连接表时,请明确定义连接条件,以避免意外结果并确保数据完整性。
  • 在 FROM 子句中使用子查询来检索需要进一步处理的数据并优化查询逻辑。

下一个主题MySQL ORDER BY 子句