1.介绍

使用MySQL别名来提高查询的可读性。
MySQL支持两种别名,称为列别名和表别名

有时,列的名称是一些表达式,使查询的输出很难理解。要给列一个描述性名称,可以使用列别名。
用法:

  SELECT
   [column_1 | expression] [AS] descriptive_name #要给列添加别名,可以使用AS关键词后跟别名。
  FROM table_name;
  

如果别名包含空格,则必须引用:
  SELECT
   [column_1 | expression] [AS] 'descriptive name' #因为AS关键字是可选的,可以在语句中省略它。
  FROM table_name;
  

2.列别名
查询选择员工的名字和姓氏,并将其组合起来生成全名。 CONCAT_WS函数用于连接名字和姓氏。

SELECT
CONCAT_WS(', ', lastName, firstname) [AS] 'Full name'
FROM
employees;

3.子句对列别名的使用

在MySQL中,可以使用ORDER BY,GROUP BY和HAVING子句中的列别名来引用该列。

以下查询使用ORDER BY子句中的列别名按字母顺序排列员工的全名:

SELECT
CONCAT_WS(' ', lastName, firstname) [as] 'Full name'
FROM
employees
ORDER BY
'Full name';

以下语句查询总金额大于60000的订单。它在GROUP BY和HAVING子句中使用列别名。

SELECT
orderNumber [as] 'Order no.',
SUM(priceEach * quantityOrdered) [as] total
FROM
orderdetails
GROUP BY
'Order no.'
HAVING
total > 60000;

注意:不能在WHERE子句中使用列别名。原因是当MySQL评估求值WHERE子句时,SELECT子句中指定的列的值可能尚未确定。

5.表的别名

可以使用别名为表添加不同的名称。使用AS关键字在表名称分配别名,如下查询语句语法:

table_name [AS] table_alias

两个表都具有相同的列名称:customerNumber。如果不使用表别名来指定是哪个表中的customerNumber列:

SELECT
customerName,
COUNT(o.orderNumber) [as] total #列别名
FROM
customers [as] c INNER JOIN orders [as] o #表别名

ON c.customerNumber = o.customerNumber
GROUP BY
customerName
HAVING total >=5
ORDER BY total DESC;

最新文章

  1. float4与half4数据类型
  2. vagrant学习笔记
  3. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.6,增加语音消息、语音留言等功能
  4. canvas像素操作
  5. Adele的生活
  6. JavaScript String 对象方法
  7. Python十分钟学会
  8. bzoj 1576 [Usaco2009 Jan]安全路经Travel(树链剖分,线段树)
  9. Umbraco中的Member登录时的Lock out功能
  10. Linq101-Join
  11. ORACLE控制文件一致性【weber出品】
  12. MySQL计数器表的设计
  13. 如何在vuejs中抽出公共代码
  14. 架构师之路--应用架构的选型和dubbo
  15. mac更改launchpad图标大小
  16. shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件
  17. Linux CentOS 6.9 Minimal 编译 OpenJDK 7
  18. [P2051 [AHOI2009]中国象棋] DP
  19. 监督学习——随机梯度下降算法(sgd)和批梯度下降算法(bgd)
  20. centOS7虚拟机设置固定IP

热门文章

  1. 用动态链表high-poj 1528
  2. P5165 xtq的棋盘
  3. update cdh version ,but cdh use old conf ,problem solve
  4. Jmeter逻辑控制器操作,附栗子
  5. WOJ1109 奶牛排队
  6. Salazar Slytherin's Locket CodeForces - 855E
  7. Hibernate的一级缓存:快照区
  8. (023) 关于51单片机的A5指令
  9. HDU 5808 Price List Strike Back bitset优化的背包。。水过去了
  10. Linux在线安装pip和numpy