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 列
以下 SQL 语句创建了两个别名,一个用于 CustomerName 列,一个用于 ContactName 列。注意:如果别名包含空格,则需要使用单引号或双引号。
以下 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;
自己动手试一试 »
当以下情况时,别名可能很有用:
- 查询中涉及不止一个表
- 查询中使用了函数
- 列名很长或不太容易理解
- 两个或多个列被组合在一起