连接三个或更多表

2025年3月17日 | 阅读 3 分钟

在 SQL 中**连接多个表**是一项棘手的任务。如果需要在一个 SQL 查询中**连接**两个以上的表,则会更加困难,我们将分析如何使用 **INNER JOINs** 从多个表中检索数据。在本节中,我们使用了两种方法**连接 SQL 中的三个或更多表。**

示例

我们正在创建三个表,如下所示:

  1. 学生
  2. marks
  3. 详情

表 1: student

学生表

Joining Three or More Tables in SQL

在上述表格中,**s_id** 是主键。

表 2: marks

成绩表

Joining Three or More Tables in SQL

在上述表格中,**school_id 是主键,s_id 是外键。**

表 3: details


Joining Three or More Tables in SQL

在上述表格中,**school_id** 是**外键**。

SQL 中连接三个或更多表有两种方法:

1. 使用 SQL 中的 JOINS

这里应用了与连接**两个表**相同的逻辑,即连接 **n** 个表所需的**最小**连接语句数量为 **(n-1)**。

输出

Joining Three or More Tables in SQL

2. 使用父子关系

在父子关系中,我们使用 **where** 子句来连接两个或更多表。将列 **X** 创建为一个表的主键和另一个表的外键。

查看已创建的表格:
**s_id** 是 student 表的**主键**,marks 表的**外键**。(student(父)- marks(子))。
**school_id** 是 marks 表的**主键**,student 表的**外键**。(marks(父)- details(子))。

查询

输出

Joining Three or More Tables in SQL
下一个主题什么是 Web SQL