MySQL 别名
MySQL 别名
别名用于为表或表中的列提供临时名称。
别名通常用于使列名更具可读性。
别名仅在该查询期间存在。
别名是使用 AS 关键字创建的。
别名语法:
列别名的语法:
SELECT column_name AS alias_name FROM table_name;
表别名的语法:
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 |
列别名的实例
以下 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 和 Country):
实例
SELECT CustomerName, CONCAT_WS(', ', Address, PostalCode, City, Country) AS Address
FROM Customers;
表别名的实例
以下 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;
在以下情况下,别名可能很有用:
- 查询中涉及多个表
- 查询中使用函数
- 列名很长或不太可读
- 两个或多个列组合在一起