通过使用 SQL,可以为表名称或列名称指定别名(Alias)。
- SQL 别名用于为表或表中的列提供临时名称,数据库中的实际表名不会更改。
- SQL 别名通常用于使列名更具可读性。
- SQL 一个别名只存在于查询期间。
- 表别名的使用是在特定SQL语句中重命名表。
- 列别名用于为特定SQL查询重命名表的列。
列的 SQL Alias 语法:
SELECT column_name AS alias_name
FROM table_name;
WHERE [condition];
表的 SQL Alias 语法:
SELECT column_name(s)
FROM table_name AS alias_name;
WHERE [condition];
列的 Alias 实例
以下SQL语句创建两个别名,一个用于CustomerID列,另一个用于CustomerName列:
SELECT CustomerID as ID, CustomerName AS Customer
FROM Customers;
以下SQL语句创建两个别名,一个用于CustomerName列,一个用于ContactName列。注:如果别名包含空格,则需要双引号或方括号:
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
以下SQL语句创建一个名为“Address”的别名,它包含四列(Address,PostalCode,City and Country):
SELECT CustomerName,
Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
注意:要使上面的SQL语句在MySQL中工作,请使用以下命令:
SELECT CustomerName,
CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
表的 Alias 实例
以下SQL语句选择CustomerID = 4(“围绕角”)的所有订单。我们使用“Customers”和“Orders”表,给它们分别为“c”和“o”的表别名(这里我们使用别名来使SQL更短):
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerName="Around the Horn"
AND c.CustomerID=o.CustomerID;
在下列情况下使用别名是有用的:
- 查询涉及多个表
- 用于查询函数
- 需要把两个或更多的列放在一起
- 列名长或可读性差