表别名

基本语法

<表名> [AS] <别名>

 AS 关键字可以省略

 别名只在当前查询中有效

 

使用场景

1. 简化长表名:

  

 SELECT o.order_id, o.order_date 
   FROM customer_orders AS o;


2. 自连接查询:

   SELECT a.name, b.name AS manager
   FROM employees a, employees b
   WHERE a.manager_id = b.emp_id;


3. 多表连接时区分表:

   SELECT s.name, c.course_name
   FROM students s JOIN courses c ON s.id = c.student_id;


注意事项

 别名不能与数据库中其他表名冲突

 别名只在当前查询中有效

 不能在 WHERE 子句中使用表别名引用列

 

字段别名

基本语法

<字段名> [AS] <别名>

 AS 关键字可以省略

 别名会显示在查询结果中

 

使用场景

1. 提高结果可读性:

   SELECT name AS student_name, age AS student_age FROM students;

2. 计算字段命名:

   SELECT price*quantity AS total_amount FROM orders;

3. 聚合函数结果命名:

      SELECT AVG(score) AS average_score FROM exams;


注意事项

 别名不能与表中其他字段名冲突

 在 GROUP BY、HAVING 和 ORDER BY 中可以使用字段别名

 在 WHERE 子句中不能使用字段别名

 

综合示例

示例1:多表连接与别名

SELECT 
    s.student_id AS id,
    s.name AS student_name,
    c.name AS course_name,
    sc.score AS final_score
FROM 
    students s
JOIN 
    student_courses sc ON s.student_id = sc.student_id
JOIN 
    courses c ON sc.course_id = c.course_id;


示例2:计算字段与别名

SELECT 
    product_id,
    product_name,
    unit_price,
    quantity,
    unit_price * quantity AS subtotal,
    (unit_price * quantity) * 0.1 AS tax,
    (unit_price * quantity) * 1.1 AS total
FROM 
    order_details;


示例3:聚合函数与别名

SELECT 
    department_id,
    COUNT(*) AS employee_count,
    AVG(salary) AS avg_salary,
    MAX(salary) AS max_salary
FROM 
    employees
GROUP BY 
    department_id
ORDER BY 
    avg_salary DESC;

点赞(2)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)