Using AS with Table Aliases

Examples in this section show workarounds that use the AS keyword with a table alias. The first pair shows how to use the ORDER, FOR, GROUP, HAVING, INTO, UNION, WITH, CREATE, GRANT, or WHERE keyword as a table alias.

Using order as a table alias causes the following example to fail because the database server interprets order as part of an ORDER BY clause:
SELECT * FROM mytab order; -- fails
The workaround in the following example uses the keyword AS to identify order as a table alias:
SELECT * FROM mytab AS order;

The next two examples show how to use the keyword WITH as a table alias.

Using with as a table alias causes the next example to fail because the database server interprets with as part of the WITH CHECK OPTION syntax:
EXEC SQL select * from mytab with; -- fails 
The workaround in the following example uses the keyword AS to identify with as a table alias:
EXEC SQL select * from mytab as with; -- succeeds
The next two examples use the keyword CREATE as a table alias. Using create as a table alias causes the next example to fail because the database server interprets the keyword as part of the syntax to create a new database object, such as a table, synonym, or view:
EXEC SQL select * from mytab create; -- fails
EXEC SQL select * from mytab as create; -- succeeds

The workaround uses the keyword AS to identify create as a table alias. (Using grant as an alias would similarly fail, but is valid after the AS keyword.)