PostgreSQL INNER Join17 Mar 2025 | 6 分钟阅读 在本节中,我们将了解 PostgreSQL inner join 的工作原理,它用于从多个表中选择数据。我们还将学习如何在 PostgreSQL inner join 中使用 WHERE 子句、USING 子句、运算符以及连接三个表,表别名。 什么是 PostgreSQL INNER JOIN 子句? 在关系数据库中,数据自然分布在多个表中,为了选择聚合数据,我们经常需要从多个表中选择数据。 PostgreSQL Inner Join 用于仅返回表中与定义条件等效的那些记录,并隐藏其他行和列。在 PostgreSQL 中,它作为默认 Join,因此没有必要在查询中使用 Inner Join 关键字。 以下 Venn 图显示了 PostgreSQL inner join,我们可以很容易地理解 Inner Join 仅返回 Table1 和 Table2 中匹配的记录 ![]() PostgreSQL Inner Join 语法Inner Join 关键字与 SELECT 命令一起使用,必须写在 FROM 子句之后。 以下语法更清楚地描述了它 PostgreSQL Inner Join 与 USING 子句的语法 PostgreSQL inner Join 与 WHERE 子句的语法 我们将按照以下步骤将 Table A 与 Table B 连接起来
注意:Join 条件返回 Inner 条件中描述的表之间的相似行。PostgreSQL Inner join 示例让我们看一个例子来了解 PostgreSQL inner join 的工作原理 使用 PostgreSQL INNER JOIN 连接两个表为此,我们将借助 CREATE 命令创建两个名为 Employee 和 department 的表,并使用 INSERT 命令 插入一些值。 首先,我们将使用 CREATE 命令创建 Employee 和 department 表 以下命令用于创建 Department 表 在执行上述命令后,已经成功创建了 Employee 和 department 表。 一旦生成了两个表,我们就可以使用 INSERT 命令将一些值插入其中,如下所示 在以下命令中,我们将值插入到 department 表中 在创建和插入 Employee 和 department 表中的值后,我们将获得以下输出 表 1:Employee 表 2:department 以下查询用于从两个表(Employee 和 department)中选择记录 输出 一旦我们实现了上述命令,我们将获得以下结果 ![]() PostgreSQL inner join 的工作原理
PostgreSQL inner Join 的表别名通常,我们要连接的表将具有具有相似名称的列,例如 emp_id 列。 如果我们在命令中引用来自不同表的具有相似名称的列,则会发生错误,为了避免此特定错误,我们需要使用以下语法。 在实时环境中,我们将使用 表别名 为连接的表分配短名称,以使命令更易于理解。 在以下命令中,我们将使用表别名,它返回与上述相似的结果 输出 一旦我们实现了上述命令,我们将得到以下输出 ![]() PostgreSQL inner join 与 USING 子句在这里,我们将看到 PostgreSQL inner join 如何与 USING 子句一起使用,因为有时两表中列的名称相似;这就是为什么我们可以使用 USING 子句来获取值。 在以下示例中,我们正在使用 USING 子句,因为两个表都具有相似的 emp_id 列。 输出 执行上述语句后,我们将获得以下结果 ![]() PostgreSQL inner join 使用 WHERE 子句我们也可以将 inner join 与 WHERE 条件一起使用。 WHERE 子句 允许我们返回过滤后的结果。 在以下示例中,我们将从 Employee 和 department 两个表中选择行,其中 dept_name 等于 Sales 输出 成功执行上述命令后,它将给出以下输出 ![]() 使用 PostgreSQL INNER JOIN 连接三个表在本教程的上述部分中,我们已经创建了两个表,分别是 Employee 和 department。现在,我们想再连接一个表,并借助 Inner join 从该特定表中获取记录。 因此,为此,我们将使用 CREATE 命令再创建一个表 Jobs,我们可以在以下命令中看到 一旦成功创建了 Jobs 表,我们将借助 INSERT 命令将一些值插入其中,我们可以在以下命令中看到 在 创建和插入 Jobs 表中的值之后,我们将获得以下输出 表 3:Jobs 以下命令用于连接三个表,例如 Employee, department, 和 Jobs。因此,我们将在 第一个 INNER JOIN 子句之后使用 第二个 INNER JOIN 子句 输出 一旦我们实现了上述查询,我们将获得以下结果 ![]() 注意:要连接三个以上的表,我们可以使用上述方法。PostgreSQL Inner Join 使用运算符PostgreSQL 允许许多运算符,我们可以将这些运算符与 Inner Join 一起使用,例如 等于 (=)、不等于 (!=)、大于 (>)、小于 (<) 等。 在以下示例中,我们正在使用不等于 (!=) 运算符与 inner join 一起使用 输出 单击 执行 按钮后,我们将获得以下输出,其中显示了那些 dept_name 不等于 SALES 的值。 ![]() 概述在 PostgreSQL inner join 部分,我们学习了以下主题
|
我们请求您订阅我们的新闻通讯以获取最新更新。