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;
自己尝试 »
别名在以下情况下很有用
- 查询中涉及多个表
- 查询中使用函数
- 列名很长或不可读
- 将两个或多个列组合在一起