Sql Oracle AS关键字和子查询
刚刚发现Oracle不喜欢使用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
AS
关键字来别名子查询:
SELECT * FROM (SELECT * FROM products) AS p
我需要尽可能保持SQL查询的可移植性。在上面的查询中删除
AS
关键字会影响任何其他RDBMS吗?SQL 99 ANSI的模式是,表可以有一个别名,而没有AS
关键字,因此,您可以去掉AS
,它应该可以在每个RDBMS上工作。在小提琴上看:
<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)
AS
关键字的用法。谢谢。您所引用的标准中的链接或引用是非常有价值的,它在RDBMS遵从性方面没有任何意义though@MaxToro我放了一个PDF文档的链接。但正如戴维多德里奇所说,“这对关系数据库管理系统来说并不意味着什么”@MaxToro我知道这个问题已经过去了一段时间,它解决了你的问题吗?如果是,请考虑接受: