是否实际使用了关键字“ ALIAS”?


9

根据PostgreSQL 7.1到9.1(目前不支持),ALIAS至少在SQL-99中被列为保留字。更高版本未显示它-表示已将其作为保留字删除。旧的PostgreSQL文档确实说过“关键字的存在并不表示功能的存在。” 给表或列加别名时我见过AS,但从没见过ALIAS

SQL关键字在哪里(或曾经在哪里)ALIAS?它是曾经使用过还是仅保留供将来使用?

Answers:


16

PostgreSQL 在附录中维护一个保留非保留术语的列表ALIAS该列表中没有。您可以ALIAS通过签出YACC语法来验证PostgreSQL不使用。甚至追溯到Postgres95 ALIAS也不是保留字(从QUEL迁移到SQL的第一个版本)

SQL标准

  • 在SQL-92中,ALIAS被标记为<reserved word>;但是,没有分配任何用途<reserved word>

  • 在SQL-99中ALIAS被标记为“其他保留字”,并添加到列表中<reserved word>;但是,没有分配任何用途<reserved word>。也许他们保留该术语是为了稍后定义含义,然后在另一个地方将其撤回。或者,也许他们为供应商定义的实现保留了该术语。PostgreSQL在文档中反映了规范的保留,然后在规范中删除了该保留。

  • 在SQL-2011中,ALIAS找不到“别名”,仅在“功能T053,“所有字段的显式别名””的引用中出现

ℹ没有SQL-86SQL-89的数字化副本


8

至少在Db2的各种样式中使用它:ALIAS该对象使您可以为另一个对象(如表)指定不同的名称。它通常用于允许在一个架构中引用另一个架构中的对象而无需明确指定该架构。

create table SOMEOTHERSCHEMA.FOOBAR (...);
set schema MYSCHEMA;
create alias FOOBAR for SOMEOTHERSCHEMA.FOOBAR;
select * from FOOBAR;

ALIAS是的别名SYNONYM; 后一种概念也存在于Oracle和SQL Server中。


4
ALIAS是一个别名SYNONYM -嗯,我猜你也可以说ALIAS是一个同义词SYNONYM...
舍甫琴科中号

2
@AndriyM却是另一种方式:SYNONYM是的同义词ALIAS尽管并非总是如此
mustaccio

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.