Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle AS关键字和子查询_Sql_Oracle_Rdbms_Rdbms Agnostic - Fatal编程技术网

Sql Oracle AS关键字和子查询

Sql Oracle AS关键字和子查询,sql,oracle,rdbms,rdbms-agnostic,Sql,Oracle,Rdbms,Rdbms Agnostic,刚刚发现Oracle不喜欢使用AS关键字来别名子查询: SELECT * FROM (SELECT * FROM products) AS p 我需要尽可能保持SQL查询的可移植性。在上面的查询中删除AS关键字会影响任何其他RDBMS吗?SQL 99 ANSI的模式是,表可以有一个别名,而没有AS关键字,因此,您可以去掉AS,它应该可以在每个RDBMS上工作。在小提琴上看: 第232页,第7.6节: <table reference> ::= <table

刚刚发现Oracle不喜欢使用
AS
关键字来别名子查询:

SELECT * FROM (SELECT * FROM products) AS p

我需要尽可能保持SQL查询的可移植性。在上面的查询中删除
AS
关键字会影响任何其他RDBMS吗?

SQL 99 ANSI的模式是,表可以有一个别名,而没有
AS
关键字,因此,您可以去掉
AS
,它应该可以在每个RDBMS上工作。在小提琴上看:

第232页,第7.6节:

<table reference> ::=
   <table primary>
   | <joined table>

<table primary> ::=
   <table or query name> [ [ AS ] <correlation name>
      [ <left paren> <derived column list> <right paren> ] ]
   | <derived table> [ AS ] <correlation name>
      [ <left paren> <derived column list> <right paren> ]
   | <lateral derived table> [ AS ] <correlation name>
      [ <left paren> <derived column list> <right paren> ]
   | <collection derived table> [ AS ] <correlation name>
      [ <left paren> <derived column list> <right paren> ]
   | <only spec>
      [ [ AS ] <correlation name>
         [ <left paren> <derived column list> <right paren> ] ]
   | <left paren> <joined table> <right paren>
::=
| 
::=
[AS]
[    ] ]
|[作为]
[    ]
|[作为]
[    ]
|[作为]
[    ]
| 
[AS]
[    ] ]
|   

还确认工作:

  • MS接入(Jet)

我知道MySQL需要别名,我的问题是关于
AS
关键字的用法。谢谢。您所引用的标准中的链接或引用是非常有价值的,它在RDBMS遵从性方面没有任何意义though@MaxToro我放了一个PDF文档的链接。但正如戴维多德里奇所说,“这对关系数据库管理系统来说并不意味着什么”@MaxToro我知道这个问题已经过去了一段时间,它解决了你的问题吗?如果是,请考虑接受: