SQL 别名
SQL 别名
SQL 别名用于为表或表中的列提供临时名称。
别名通常用于提高列名的可读性。
别名仅在查询期间有效。
列的 SQL Alias 语法
SELECT column_name AS alias_name
FROM table_name;
表的 SQL Alias 语法
SELECT column_name(s)
FROM table_name AS alias_name;
演示数据库
在本教程中,我们将使用著名的 Northwind 示例数据库。
以下是从 "Customers" 表中选择的内容:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
以及从 "Orders" 表中选择的内容:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10354 | 58 | 8 | 1996-11-14 | 3 |
10355 | 4 | 6 | 1996-11-15 | 1 |
10356 | 86 | 6 | 1996-11-18 | 2 |
Alias 实例: 使用一个列名别名
以下 SQL 语句创建两个别名,一个用于 CustomerID 列,另一个用于 CustomerName 列:
下面的SQL语句创建两个别名,一个用于CustomerName列,另一个用于ContactName列。
注释: 如果别名包含空格,则需要双引号或方括号:
以下 SQL 语句创建一个名为 "Address" 的别名,该别名由四列(Address、PostalCode、City和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(Around the Horn)的客户的所有订单。我们使用 "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;
亲自试一试 »
以下 SQL 语句与上面相同,但没有别名:
实例
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID;
亲自试一试 »
在下面的情况下,使用别名很有用:
- 在查询中涉及超过一个表
- 在查询中使用了函数
- 列名称很长或者可读性差
- 需要把两个列或者多个列结合在一起