MySQL 别名(Aliases)
别名(Aliases)用于为表或表中的列赋予临时名称。
关键点说明:
MySQL 别名 别名用于给表或表中的列赋予临时名称。
别名通常用于使列名更具可读性。
别名仅在查询期间存在。
别名通过关键字 AS 创建
用途:
- 让列名更易读(例如将
customer_name
显示为客户姓名
)。 - 简化复杂的表名或表达式(例如多表查询时缩写表名)。
- 让列名更易读(例如将
特性:
- 别名仅在当前查询中有效,不会实际修改数据库结构。
- 通过关键字
AS
创建(AS
可省略,但建议保留以提高可读性)。
语法:
Aliases 列语法
1
2SELECT column_name AS alias_name
FROM table_name;Aliases 表语法
1
2SELECT column_name(s)
FROM table_name AS alias_name;
例1:
SQL 语句创建了两个别名:一个用于 CustomerName 列,一个用于 ContactName 列。
注意: 如果别名包含空格,则需要使用单引号或双引号
1 | SELECT CustomerName AS Customer, ContactName AS "Contact Person" |
例2:
1 | -- 从Customers(客户)表中查询 |
CONCAT_WS()
函数:
- 功能: “Concatenate With Separator”(带分隔符连接)
- 第一个参数是分隔符(
', '
) - 后续参数是要连接的字段
- 会自动跳过NULL值
AS Address
:
- 为连接后的结果列创建别名”Address”
- 使输出结果更清晰易读
例3:
1 | SELECT o.OrderID, o.OrderDate, c.CustomerName |
详细翻译:
SELECT o.OrderID, o.OrderDate, c.CustomerName
- 选择要显示的列:
o.OrderID
:订单表中的订单IDo.OrderDate
:订单表中的订单日期c.CustomerName
:客户表中的客户名称
WHERE c.CustomerName='Around the Horn' AND c.CustomerID=o.CustomerID;
- 设置查询条件:
c.CustomerName='Around the Horn'
:只查询客户名为”Around the Horn”的记录c.CustomerID=o.CustomerID
:确保只返回客户ID在两个表中匹配的记录(这是表连接的关键条件)
查询结果:
OrderID | OrderDate | CustomerName |
---|---|---|
10248 | 2023-07-04 | Around the Horn |
10253 | 2023-07-10 | Around the Horn |
以下SQL语句与上面的查询功能完全相同,只是没有使用别名:
1 | SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName |
别名在以下情况中非常有用:
- 查询中涉及多个表时
- 查询中使用了函数时
- 列名很长或不太易读时
- 两个或多个列被组合在一起时