SQL 别名学习笔记
在 SQL 中,别名是为表、列或子查询命名的可选关键字。使用别名可以使 SQL 语句更易于阅读和编写,并且可以消除歧义。
为表命名别名
使用 AS 关键字可以为表命名别名。例如,下面的 SQL 查询中使用 "employees" 表的别名 "e" 以及 "departments" 表的别名 "d":
sqlCopy CodeSELECT 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 CodeSELECT employee_id, last_name AS name, hire_date
FROM employees;
为子查询命名别名
使用 AS 关键字可以为子查询命名别名。例如,下面的 SQL 查询中使用子查询中返回的结果集的别名 "subquery":
sqlCopy CodeSELECT *
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 CodeSELECT 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 |