在Oracle" AS"别名不起作用

时间:2015-11-11 02:14:21

标签: oracle oracle11g

只是想知道甲骨文不允许的原因" AS" Query中的别名。 在我的项目中,我返回的所有查询都有别名关键字" AS"。

For.eg;

Select t1.id,t2.name from Table1 As t1 ,Table2 t2 
on
  t1.id =t2.id

上面的查询运行在所有服务器上,如PostgreSQL,Microsoft SQL服务器,但在Oracle中,它不工作 显示错误"命令不存在"因为别名" As"。 如果我删除,那么它将运行。

只是想知道Oracle Server为什么会这样?我想使用" AS"别名来运行查询。

3 个答案:

答案 0 :(得分:3)

虽然Oracle允许您在定义列别名时使用AS,但在定义表别名时,它不允许您使用AS。这就是Oracle的工作方式。

答案 1 :(得分:-1)

您可以将as(可选)用于列名中的别名,但不能用于表。在别名中使用as是Microsoft标准,而ORACLE支持ANSI SQL语法,在别名中使用as不是标准。

答案 2 :(得分:-1)

根据thisthis,它应该是ISO SQL92的一部分。由于向后兼容性,Oracle可能没有实现它。

在Oracle关键字中,例如" AS"," JOIN"," COMMIT"," MODEL"仍然可以用作对象名称。所以你可以这样写:

select J.COMMIT AS
from JOIN J;

这将选择名为" COMMIT"的列。从名为" JOIN"的表中并且该列将别名为" AS"。