PostgreSQL 教程: 列别名

八月 31, 2023

摘要:在本教程中,您将了解 PostgreSQL 列别名以及如何使用列别名为查询中的列分配临时名称。

PostgreSQL 列别名简介

列别名允许您为SELECT语句的查询列表中的列或表达式分配临时名称。列别名只在查询执行期间临时性的存在。

下面说明了使用列别名的语法:

SELECT column_name AS alias_name
FROM table_name;

在此语法中,column_name被分配了一个别名alias_name。其中AS关键字是可选的,因此您可以像这样省略它:

SELECT column_name alias_name
FROM table_name;

以下语法说明了如何为SELECT子句中的表达式设置别名:

SELECT expression AS alias_name
FROM table_name;

列别名的主要目的是使查询输出的标题更有意义。

PostgreSQL 列别名示例

我们将使用示例数据库中的customer表来向您展示如何使用列别名。

customer table

1) 为列分配列别名的示例

以下查询返回customer表中所有客户的名字和姓氏:

SELECT 
   first_name, 
   last_name
FROM customer;

PostgreSQL Column Alias

如果要重命名last_name标题,可以使用列别名为其指定一个新名称,如下所示:

SELECT 
   first_name, 
   last_name AS surname
FROM customer;

此查询将surname指定为last_name列的别名:

PostgreSQL Column Alias example

或者您可以通过删除AS关键字来缩短它,如下所示:

SELECT 
   first_name, 
   last_name surname
FROM customer;

2) 为表达式分配列别名的示例

以下查询返回所有客户的全名。它通过连接名字、空格和姓氏来构造全名:

SELECT 
   first_name || ' ' || last_name 
FROM 
   customer;

请注意,在 PostgreSQL 中,您使用||用作连接运算符,将一个或多个字符串连接成一个字符串。

PostgreSQL Alias Example

从输出中可以清楚地看到,该列的标题?column?没有意义。

要解决此问题,您可以为表达式first_name || ' ' || last_name分配一个列别名,例如full_name

SELECT
    first_name || ' ' || last_name AS full_name
FROM
    customer;

PostgreSQL Column Alias Example

3) 包含空格的列别名

如果列别名包含一个或多个空格,则需要用双引号将其引起来,如下所示:

column_name AS "column alias"

例如:

SELECT
    first_name || ' ' || last_name "full name"
FROM
    customer;

img

概括

  • 使用语法column_name AS alias_name为列分配列别名,或使用expression AS alias_name为表达式分配列别名。

  • 关键字AS是可选的。

  • 使用双引号 (") 括住包含空格的列别名。