SQL 别名学习笔记

在 SQL 中,别名是为表、列或子查询命名的可选关键字。使用别名可以使 SQL 语句更易于阅读和编写,并且可以消除歧义。

为表命名别名

使用 AS 关键字可以为表命名别名。例如,下面的 SQL 查询中使用 "employees" 表的别名 "e" 以及 "departments" 表的别名 "d":

sqlCopy Code
SELECT e.employee_id, e.last_name, d.department_name FROM employees AS e INNER JOIN departments AS d ON e.department_id = d.department_id;

为列命名别名

使用 AS 关键字可以为列命名别名。例如,下面的 SQL 查询中使用 "employees" 表中的 "last_name" 列的别名 "name":

sqlCopy Code
SELECT employee_id, last_name AS name, hire_date FROM employees;

为子查询命名别名

使用 AS 关键字可以为子查询命名别名。例如,下面的 SQL 查询中使用子查询中返回的结果集的别名 "subquery":

sqlCopy Code
SELECT * FROM (SELECT employee_id, last_name FROM employees WHERE department_id = 50) AS subquery;

实例

下面是一个使用别名的例子。假设我们有一个具有以下结构的 "orders" 表:

order_id customer_name order_date
1 Alice 2023-02-01
2 Bob 2023-03-15
3 Alice 2023-04-12

为了找出每个客户最近的订单日期,我们可以使用以下 SQL 查询:

sqlCopy Code
SELECT customer_name, MAX(order_date) AS latest_order_date FROM orders GROUP BY customer_name;

该查询将返回以下结果:

customer_name latest_order_date
Alice 2023-04-12
Bob 2023-03-15