SQL 自连接2025年8月2日 | 阅读 5 分钟 SQL 中的 SQL JOIN 是用于在两个表之间基于共同列组合行的命令。通过 JOIN,我们可以使用所有表中存在的公共列,通过组合多个表中的行来检索数据。 JOIN 也被称为关系数据库中用于组合表的工具。通过 JOIN,我们可以高效地检索数据。虽然有许多 SQL JOIN,但在本文中我们将讨论 **SELF JOIN**。 SQL 中的 SELF JOIN 是什么?自连接是一种将表与其自身连接的技术。它是一个常规连接,其中表与其自身连接,表中的每一行都根据用户给出的命令与同一表中的其他行进行比较。通过自连接,我们可以将表与其自身连接,这允许我们比较同一表中的行。当我们需要处理分层数据或需要比较单个表中的行时,它很有用。它有助于查找重复值。 它创建了同一数据的虚拟第二表,可以将其引用为不同的表。 为什么使用 SELF JOIN?自连接用于从同一表中以某种方式相关的行中获取数据。自连接的一些用例如下:
SELF JOIN 的语法描述SELECT:这个 SQL 关键字用于从表中选择所需的列。 column_name:这是我们想要检索的列的名称。 FROM:这个关键字用于选择我们想要从中检索列的必需表。 table_name:这是我们想要从中接收数据的表的名称。 JOIN:这是用于连接两个表的关键字。 ON:这是用于给出连接两个表条件的关键字。 common_column:这是表连接的公共列。 在这里,**A** 和 **B** 是同一表的临时名称。它帮助您在单个查询中从单个表中分派两行。 示例SQL 自连接,用于显示学生及其导师。 步骤 1:创建带有约束的学生表我们开始 创建名为 Student 的表,该表包含约束以提高数据完整性和结构。 步骤 2:向 Student 表插入数据步骤 3:从 Student 表接收数据表
步骤 4:SQL 自连接以检索学生及其导师输出
说明在上面的示例中,我们展示了如何在 SQL 中使用自连接来连接同一表中的相关人员,例如学生和他们的导师。每个学生都有一个导师,由他们的 ID 列出,我们使用 ID 来显示导师的姓名。学生和导师在同一个表中。我们可以在输出表中看到谁指导谁。 该查询查看每个学生的 mentor_id,并找到具有该 ID 的匹配学生。 注意:所有主要的数据库都支持自连接,但 PostgreSQL、Oracle 和 SQL Server 在处理层次结构时效果最好。您在使用 MySQL 中的自连接时必须小心,因为自引用外键是模式约束,意味着一行引用同一表中的另一行,因此按正确的顺序插入数据非常重要。结论自连接是一种将表中的数据与其他相同表中的数据连接的方法。我们使用了上面的示例来展示哪个学生拥有哪个导师,即使学生和导师都在同一个表中。这有助于我们查看像“谁指导谁”这样的关系,而无需额外的表。 自连接对于多种情况很有用,例如显示经理和员工或类别和子类别。它使在单个表中处理相关信息更加容易,并帮助我们更清楚地理解数据中的连接。 |
我们请求您订阅我们的新闻通讯以获取最新更新。