Postgresql
關鍵字“ALIAS”是否實際使用?
根據 PostgreSQL 7.1 到 9.1(現在不支持),
ALIAS
被列為保留字,至少對於 SQL-99。後來的版本沒有顯示它 - 表明它已作為保留字被刪除。舊的 PostgreSQL 文件確實說過*“關鍵字的存在並不表示特性的存在”。*當給我見過的表或列起別名時AS
,但從來沒有ALIAS
。SQL 關鍵字在哪裡(或曾經)在哪裡
ALIAS
使用?它曾經被使用過還是只保留供將來使用?
PostgreSQL 在附錄中維護了一個保留和非保留術語的列表。
ALIAS
不在該列表中。ALIAS
您可以通過檢查YACC 語法來驗證 PostgreSQL 不使用。甚至早在Postgres95ALIAS
就不是保留字(從 QUEL 遷移到 SQL 的第一個版本)
- 👍 MySQL不保留
ALIAS
- 👍 MariaDB不保留
ALIAS
- 👍 Oracle不保留
ALIAS
- 👎 SQL Server確實(在 T-SQL 中)保留
ALIAS
(作為其“保留關鍵字”列表中的潛在未來關鍵字)SQL 標準
- 在 SQL-92 中,
ALIAS
被標記為<reserved word>
; 但是,沒有為此分配任何用途<reserved word>
。- 在 SQL-99
ALIAS
中被標記為“附加保留字”,並添加到列表中<reserved word>
;但是,沒有為此分配任何用途<reserved word>
。也許他們保留該術語是為了稍後定義含義,然後在不同的時候將其撤回。或者,也許他們保留了供應商定義實現的術語。PostgreSQL 在文件中反映了規範的保留,然後使用規範刪除了該保留。- 在 SQL-2011
ALIAS
中,找不到“別名”一詞,僅在引用*“功能 T053,“所有欄位引用的顯式別名”時出現*ℹ 沒有SQL-86或SQL-89的數字化副本
它至少在 Db2 的各種風格中使用:
ALIAS
是一個允許您為另一個對象指定不同名稱的對象,例如 table。它經常用於允許在一個模式中引用另一個模式中的對象,而無需明確指定該模式。create table SOMEOTHERSCHEMA.FOOBAR (...); set schema MYSCHEMA; create alias FOOBAR for SOMEOTHERSCHEMA.FOOBAR; select * from FOOBAR;
ALIAS
是SYNONYM
;的別名 後一種概念也存在於 Oracle 和 SQL Server 中。