表别名
基本语法
<表名> [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;
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程