表或视图的别名
您可为 FROM 子句中的表或视图声明别名。如果你这么做,则必须在 SELECT 语句的其他子句
中使用该别名来引用该表或视图。您还可使用别名来缩短查询;
下列示例展示 FROM 子句的典型使用。第一个查询从 customer 表选择所有列和行。第二个查询在
customer 和 orders 表之间使用连接,来选择所有已下了订单的客户。
SELECT * FROM customer;
SELECT fname, lname, order_num FROM customer, orders
WHERE customer.customer_num = orders.customer_num;
下一示例等同于前一示例中的第二个查询,但它在 FROM 子句中声明别名,并在 WHERE 子句
中使用它们:
SELECT fname, lname, order_num FROM customer c, orders o
WHERE c.customer_num = o.customer_num;
别名(有时称为相关名称)对自连接特别有用。要获取更多关于自连接的信息,请参阅 自连接。
在自连接中,您必须在 FROM 子句中罗列表名称两次,并为该表名称的两个示例各自声明一个不
同的别名。
AS 关键字
如果您使用可能发生歧义的此作为别名(或作为显示标签),则必须以关键字 AS 开始它的声明。
如果您使用任何关键字 ORDER、FOR、AT、GROUP、HAVING、INTO、NOT、UNION、
WHERE、WITH、CREATE 或 GRANT 作为表或视图的别名,则需要此关键字。
如果下一示例未包括了 AS 关键字来表明 not 是显示标签,而不是操作符,则数据库服务器会发
出错误:
CREATE TABLE t1(a INT);
SELECT a AS not FROM t1;
如果您未为集合派生的表声明别名,则数据库服务器为它指定一个与实现相关的名称。