SQL Alias 别名
时间:2018-11-15 17:15:32 来源:igfitidea点击:
在本教程中,我们将学习如何在查询中使用SQL别名,包括列别名和表别名。
关于SQL别名
SQL支持两种类型的别名:列别名和表别名。
- 列别名可以使查询结果的列名字描述得更明了。
- 表别名可以避免引用完整的表名(特别是非常长的表名),从而节省写SQL的时间。此外,当一个表在查询中被多次引用时(例如,内连接、左连接或子查询) 使用表别名可以用来避免表混淆的错误。
SQL列别名
从表中查询数据时,列的名称将用作输出的标题。但是,列名通常是技术性的,因此很难理解结果集。它们通常是神秘的。
为了使结果集更有意义,可以使用SQL列别名。使用AS关键字将列别名指定给SELECT子句中的列。
例如:
SELECT productid AS product, listprice AS price FROM item WHERE listprice >70
在上面的SELECT语句中,我们使用了两个列别名。第一列别名是product,表示productid列,第二列别名是price,表示listprice列。
AS关键字是可选的,因此可以省略AS关键字。如果列别名包含空格,则必须将使用双引号把别名括起来。
比如:
SELECT productid product, listprice "list price" FROM item WHERE listprice >70
SQL表的别名
在某些情况下,当查询中使用了多个具有相同列名的表时,必须同时使用表名和列名来引用该列,以避免列名混淆的错误。
table_name.column_name
但是如果表名很长,这样写语句就很长,所以SQL提供了给查询中的表分配一个别名的方法。
表别名出现在SELECT语句的FROM子句中表的名称之后。
通常是在多次引用同一个张表或者表名太长时使用表别名。
例如,可以通过对employees表进行自连接查询来查看组织结构:
SELECT E.lastname "员工", M.lastname "经理" FROM employees AS E INNER JOIN employees M ON M.employeeID = E.ReportsTo
同样, AS是可以省略的。
在上面的查询中,我们引用了两次employees表,因此,我们必须使用表别名:E表示employee, M表示manager。
我们经常在使用子查询、自连接和内连接子句的语句时使用SQL别名。