PostgreSQL別名


PostgreSQL別名(Alias)用於為列或表提供臨時名稱。您可以使用PostgreSQL別名為列或表建立一個臨時名稱。

通常來說,當您執行自聯接時,會建立一個臨時表。

PostgreSQL列別名

語法:

SELECT column_name AS alias_name  
FROM table_name  
conditions...  ;

引數說明

  • column_name: 它指定要進行別名的列的原始名稱。
  • alias_name: 它指定分配給列的臨時名稱。
  • table_name:它指定表的名稱。
  • AS:這是可選的。大多數程式員將在對列名進行別名時指定AS關鍵字,但在別名表名時不指定。

注意:

  • 如果alias_name包含空格,則必須將alias_name包含在引號中。
  • 在別名列名時,可以使用空格。 但是使用表名時,使用空格通常不是一個好習慣。
  • alias_name僅在SQL語句的範圍內有效。

範例-1

我們來看一下表「EMPLOYEES」,具有以下資料。

執行以下查詢使用別名的語句:

SELECT NAME, MAX(SALARY) AS PACKAGE  
FROM EMPLOYEES  
GROUP BY NAME;

執行上面查詢語句,輸出結果如下 -

PostgreSQL表別名

語法:

SELECT column1, column2....  
FROM table_name AS alias_name  
conditions....  ;

引數說明:

  • table_name:它指定要進行別名的表的原始名稱。
  • alias_name:它指定分配給表的臨時名稱。
  • AS:這是可選的。大多數程式員將在對列名進行別名時指定AS關鍵字,但在別名表名時不指定。

注意:

  • 如果alias_name包含空格,則必須將alias_name包含在引號中。
  • 在別名列名時,可以使用空格。 但是,當您使用表名時,使用空格通常不是一個好習慣。
  • alias_name僅在SQL語句的範圍內有效。

範例-2

我們來看一下表「EMPLOYEES」,具有以下資料。

建立另一個表「DEPARTMENT」,並插入以下資料。

-- Table: public.department

-- DROP TABLE public.department;

CREATE TABLE public.department
(
  id integer,
  dept text,
  fac_id integer
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.department
  OWNER TO postgres;

-- 插入資料
INSERT INTO department VALUES(1,'IT', 1);
INSERT INTO department VALUES(2,'Engineering', 2);
INSERT INTO department VALUES(3,'HR', 7);

執行上面查詢語句後,DEPARTMENT有以下資料 -

執行以下查詢使用別名的語句:

SELECT E.ID, E.NAME, E.AGE, D.DEPT  
FROM EMPLOYEES AS E, DEPARTMENT AS D  
WHERE  E.ID = D.ID;

執行上面查詢語句,輸出結果如下 -