SQL 别名
SQL 别名
SQL别名用于为表或表中的列提供临时名称。
别名通常用于使列名更具可读性。
别名仅在查询期间存在。
别名列语法
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, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address
FROM Customers;
运行实例»
注意:要使上面的SQL语句在MySQL中工作,请使用以下命令:
SELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address
FROM Customers;
表的别名实例
以下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;
运行实例»
以下SQL语句与上面相同,但没有别名:
实例
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND Customers.CustomerID=Orders.CustomerID;
运行实例»
别名通常在如下情况使用:
- 查询中涉及多个表
- 在查询中使用函数
- 列名很长或不太可读
- 将两个或更多列组合在一起