PostgreSQL Alias

17 Mar 2025 | 5 分钟阅读

在本节中,我们将了解 PostgreSQL 别名和 PostgreSQL 表别名的工作原理,它用于在特定命令中为表提供一个临时名称。

什么是 PostgreSQL 别名?

PostgreSQL 别名用于在特定语句的 SELECT 命令的选择列表中为表或表达式提供一个短名称

PostgreSQL 别名的优点

PostgreSQL 别名的优点如下

  • PostgreSQL 别名使列名或表名更容易理解。
  • 当查询中使用多个表时,建议使用别名。
  • 它提供了一个方便而灵活的功能,使我们能够快速完成复杂的任务。
  • 当我们在语句中使用函数时,PostgreSQL 别名非常有用。
  • 在 PostgreSQL 别名中,我们可以组合两个或多个列。
  • 当列名很长或不易读时,PostgreSQL 别名非常有用。

PostgreSQL 别名可以通过两种方式定义

  • PostgreSQL 表别名
  • PostgreSQL 列别名

在本节中,我们将了解 PostgreSQL 表别名及其一些示例。

什么是 PostgreSQL 表别名?

表别名用于缩写我们的命令,使其更容易阅读,或者当我们在实现 自连接时,在 FROM 子句中多次列出相似的表。

表别名作为表达表名的昵称,使表名更易读和更短。

它在命令的实现过程中暂时存在。当表名在实时环境中不友好时,表别名非常有用。

PostgreSQL 表别名的语法

PostgreSQL 表别名的语法如下

在下面的语法中,我们忽略了 AS 关键字,因为它是可选的,并且 table _name 被赋予别名 alias_name

在上面的语法中,我们有以下参数

参数描述
table_nametable name 参数用于定义原始名称,我们要对其执行别名。
column_namecolumn name 用于定义特定表的列名。
alias_namealias name 用于描述赋予列的临时名称。
ASAS 是大多数开发人员在为列名设置别名时使用的可选关键字,但在执行表别名时不使用。

PostgreSQL 表别名的示例

让我们看一些示例,以便更好地理解 PostgreSQL 表别名。

  • 在 join 子句中执行表别名

通常,我们使用 join 子句从包含相似列名的一个或多个表中获取记录。

如果我们使用来自一个或多个表的相似列名,而不完全限定它们,我们将收到错误。

为了避免此错误,我们需要借助以下语法来限定这些列

表别名用于一个或多个表,并将它们与 JOIN 子句的帮助链接起来。 在这里,我们对 FROM 子句中指定的表名和 INNER JOIN 子句使用 表别名,这使得命令更易于阅读。

在下面的示例中,我们有一个名为 Employee 的表,其中包含以下数据

PostgreSQL Alias

此语句将使用表别名返回记录

输出

执行上述命令后,我们将得到以下结果

PostgreSQL Alias

让我们假设我们的数据库还有一个名为 department 的表,该表具有以下数据,我们可以在下面的屏幕截图中看到

PostgreSQL Alias

我们可以观察到两个表都包含一个相似的列 emp_fname

输出

在执行上述命令时,如果我们不使用表别名,我们将获得以下输出,其中显示了以下错误: 一个子句中的列 'emp_fname' 不明确

PostgreSQL Alias

因此,如果我们想避免上述错误,我们将使用表别名。

在下面的命令中,我们将使用 PostgreSQL Inner Join 子句来组合 Employee 和 Department 表;并在其上执行表别名。

输出

执行上述命令后,我们将获得以下输出

PostgreSQL Alias

如果我们不想在命令中使用别名概念,那么 PostgreSQL 使用表名来查找列名,这使得语句更长且可读性较差,我们可以在以下示例中看到

输出

执行上述语句后,我们将获得以下输出

PostgreSQL Alias
  • 为长表名执行表别名的示例

为了使我们的命令更具可读性并节省编写长表名的一些打字时间,我们可以使用表别名。

例如,与其在命令中使用以下表达式,

我们可以给表 long_table_name 一个别名,如下所示

它借助表别名引用表 Long_table_name 中的 column_name

  • 在 PostgreSQL 自连接子句中执行表别名

假设我们想在 自连接子句中使用表别名。自连接子句用于将表与其自身连接,即在一个语句中多次引用相似的表。

在下面的示例中,我们将展示如何在同一命令中借助表别名两次引用 Customer

输出

在实现上述命令后,我们将获得以下结果

PostgreSQL Alias

概述

在 PostgreSQL 表别名部分,我们学习了以下主题

  • 我们将使用 PostgreSQL 表别名在执行命令时临时为表提供一个新名称。
  • 我们将在 PostgreSQL Join 子句中实现表别名。