将 AS 和表别名一起使用

这一节的例子给出了关键字 AS 和表别名一起使用的变通方法。开头两个例子说明了如果使用关键 ORDER 、FOR 、GROUP 、HAVING 、INTO 、UNION 、WITH 、CREATE 、GRANT 或 WHERE 作为表别名。

使用 order 作为表别名导致下面的例子失败,因为数据库服务器把 order 解释为 ORDER BY 子句的一部分:
SELECT * FROM mytab order; -- fails
下面例子的变通方法使用关键字 AS 把 order 看作表别名:
SELECT * FROM mytab AS order;

接下来两个例子说明了如何使用关键字 WITH 作为表别名。

使用 with 作为表别名导致下面的例子失败,因为数据库服务器把 with 解释为 WITH CHECK OPTION 语法的一部分:
EXEC SQL select * from mytab with; -- fails 
下面例子的变通方法使用关键字 AS 把 with 作为表别名:
EXEC SQL select * from mytab as with; -- succeeds
下面的两个示例使用关键字 CREATE 作为表别名。使用 create 作为表别名导致下面的例子失败,因为数据库服务器将此关键字解释成超级新数据库对象的语法的一部分,如创建表、同义词或视图:
EXEC SQL select * from mytab create; -- fails
EXEC SQL select * from mytab as create; -- succeeds

变通方法使用关键字 AS 将 create 识别为表别名。(使用 grant 作为别名将同样失败,但在 AS 关键字之后是有效的。)