14、as 别名用法

1、AS 设置别名

是一个可选的关键字,用于给列(字段)、表 或 子查询 指定一个别名(Alias)。它的主要作用是:

  • 提高 SQL 语句的可读性
  • 简化复杂表达式的引用
  • 在自连接或子查询中区分同名对象

语法:

-- 列别名
SELECT column_name AS alias_name FROM table_name;

-- 表别名
SELECT t.column_name FROM table_name AS t;

-- 表达式别名
SELECT (price * quantity) AS total FROM orders;

✅ 注意:

  • AS 关键字可以省略(大多数数据库支持),但建议保留以增强可读性。
  • 别名包含空格时,要用引号括起来。
-- 合法但不推荐(可读性差)
SELECT name n, id i FROM users u;

AS设置的别名不能在 WHERE 子句中使用(因为 WHERE 在 SELECT 之前执行),可在 ORDER BYGROUP BY(部分数据库)、HAVING 中使用:

-- ❌ 错误!
SELECT name AS full_name FROM users WHERE full_name = 'John';

-- ✅ 正确
SELECT name AS full_name FROM users WHERE name = 'John';

SELECT name AS full_name FROM users ORDER BY full_name;

为子查询设置别名

FROMJOIN 中使用子查询时,必须给子查询起别名(即使不用 AS,也需有名字)。

-- 必须给子查询起别名(这里用 t)
SELECT t.avg_sal, t.dept
FROM (
    SELECT AVG(salary) AS avg_sal, department AS dept
    FROM employees
    GROUP BY department
) AS t
WHERE t.avg_sal > 5000;

 

场景是否必须示例
列别名 否(但推荐) SELECT name AS full_name
表别名 否(但多表时强烈推荐) FROM users AS u
子查询别名 FROM (SELECT ...) AS t
表达式别名 否(但必须才能在 ORDER BY 等中引用) SELECT (a+b) AS sum
posted @ 2025-11-19 09:25  chao_xiong  阅读(5)  评论(0)    收藏  举报