1. 什么是AS
在MySQL中,使用AS关键字为列或表命名别名。AS关键字是可选的;您可以直接在别名后面跟随别名。
使用 AS 和不使用 AS 是等效的:
SELECT employeeNumber, firstName, lastName
FROM employees
等同于:
SELECT employeeNumber AS ID, firstName, lastName AS Name
FROM employees AS e
在这些示例中,我们在查询中使用了员工表的简称 e 。这是一种使 SQL 程序更紧凑和可读的方法。
2. AS在别名中的使用
2.1 列别名
AS 可以为列命名别名,这些别名可以在查询中使用。例如,以下查询将从“顾客”表中选择“城市”列,并将其命名为“地点”:
SELECT city AS location
FROM customers
如果没有使用 AS 关键字进行列命名,则列名将为原始名称“city”:
SELECT city
FROM customers
2.2 表别名
AS 关键字也用于为表命名别名。这使得在查询中引用表格更加容易。例如,以下查询将从“顾客”表中选择“州”列,以及从“订单”表中选择“订单号”:
SELECT c.state, o.orderNumber
FROM customers AS c, orders AS o
WHERE c.customerNumber = o.customerNumber;
在这种情况下,表别名 c 和 o 可用于引用表。假设顾客和订单表中都有一个名为“customerNumber”的列,则使用别名 c 和 o 就可以指定查询执行哪个表格中的此列。
3. AS在查询中的使用实例
下面是一个使用 AS 的简单查询的实例,该查询从“员工”表中选择“雇员号”、“名字”、“姓氏”,并为所有三列命名别名:
SELECT employeeNumber AS ID, firstName AS First, lastName AS Last
FROM employees
以下 SQL 语句将查询“员工”表中所有人的城市。此查询修改了“city”列的名称为“location”,以使结果更容易理解:
SELECT city AS location
FROM employees
WHERE title = 'Sales Rep'
以下查询使用表别名 c 从“顾客”表中选择顾客的名称和州份,然后加入订单表的顾客编号和订单日期:
SELECT c.customerName, c.state, o.orderNumber, o.orderDate
FROM customers AS c, orders AS o
WHERE c.customerNumber = o.customerNumber
AND c.state = 'CA';
4. 总结
AS可以在MySQL中为列或表命名别名。AS关键字是可选的;您可以直接在别名后面跟随别名。AS关键字在别名中的使用主要有两种用途:列别名和表别名。