mysql FROM子句中的“ AS”一词是否可选?

v0i*_*ess 2 mysql syntax

我偶然发现了一个有趣的查询(对我而言),但我不确定它的作用。

SELECT SQL_CALC_FOUND_ROWS DISTINCT P.* FROM table P WHERE P.status = ...
Run Code Online (Sandbox Code Playgroud)

问题是关于P具体FROM table P。我知道在FROM子句中可以使用AS子句,但此特定查询不能。这个词是AS可选的吗?

Mar*_*ers 5

定义别名并非始终是可选的,但是在定义别名时,关键字AS始终是可选的。

table_factor:
    tbl_name [PARTITION (partition_names)] 
        [[AS] alias] [index_hint_list]
  | table_subquery [AS] alias
  | ( table_references )
  | { OJ table_reference LEFT OUTER JOIN table_reference
        ON conditional_expr }
Run Code Online (Sandbox Code Playgroud)

来源:JOIN语法

AS在定义列别名时,关键字也是可选的:

使用标识符为select_expr别名时,AS关键字是可选的

来源:SELECT语法