PostgreSQL 别名 - POSTGRESQL教程

PostgreSQL 别名

我们可以用 SQL 重命名一张表或者一个字段的名称,这个名称就叫着该表或该字段的别名。

创建别名是为了让表名或列名的可读性更强。

SQL 中 使用 AS 来创建别名。

语法

表的别名语法:

SELECT column1, column2....

FROM table_name AS alias_name

WHERE [condition];

列的别名语法:

SELECT column_name AS alias_name

FROM table_name

WHERE [condition];

实例

创建 COMPANY 表( 下载 COMPANY SQL 文件 ),数据内容如下:

ez4codedb# select * from COMPANY;

 id | name  | age | address   | salary

----+-------+-----+-----------+--------

  1 | Paul  |  32 | California|  20000

  2 | Allen |  25 | Texas     |  15000

  3 | Teddy |  23 | Norway    |  20000

  4 | Mark  |  25 | Rich-Mond |  65000

  5 | David |  27 | Texas     |  85000

  6 | Kim   |  22 | South-Hall|  45000

  7 | James |  24 | Houston   |  10000

(7 rows)

创建 DEPARTMENT 表( 下载 COMPANY SQL 文件 ),数据内容如下:

ez4codedb=# SELECT * from DEPARTMENT;

 id | dept        | emp_id

----+-------------+--------

  1 | IT Billing  |      1

  2 | Engineering |      2

  3 | Finance     |      7

  4 | Engineering |      3

  5 | Finance     |      4

  6 | Engineering |      5

  7 | Finance     |      6

(7 rows)

下面我们分别用 C 和 D 表示 COMPANY 表和 DEPAERMENT 表的别名:

ez4codedb=# SELECT C.ID, C.NAME, C.AGE, D.DEPT FROM COMPANY AS C, DEPARTMENT AS D WHERE  C.ID = D.EMP_ID;

得到结果如下:

 id | name  | age |  dept

----+-------+-----+------------

  1 | Paul  |  32 | IT Billing

  2 | Allen |  25 | Engineering

  7 | James |  24 | Finance

  3 | Teddy |  23 | Engineering

  4 | Mark  |  25 | Finance

  5 | David |  27 | Engineering

  6 | Kim   |  22 | Finance

(7 rows)

下面,我们用 COMPANY_ID 表示 ID 列,COMPANY_NAME 表示 NAME 列,来展示列别名的用法:

ez4codedb=# SELECT C.ID AS COMPANY_ID, C.NAME AS COMPANY_NAME, C.AGE, D.DEPT  FROM COMPANY AS C, DEPARTMENT AS D WHERE  C.ID = D.EMP_ID;

得到结果如下:

company_id | company_name | age | dept

------------+--------------+-----+------------

      1     | Paul         |  32 | IT Billing

      2     | Allen        |  25 | Engineering

      7     | James        |  24 | Finance

      3     | Teddy        |  23 | Engineering

      4     | Mark         |  25 | Finance

      5     | David        |  27 | Engineering

      6     | Kim          |  22 | Finance

(7 rows)