您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页mysql中别名(列别名和表别名)

mysql中别名(列别名和表别名)

来源:保捱科技网
mysql中别名(列别名和表别名)

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'FROMemployeesORDER BY'Full name';

以下语句查询总⾦额⼤于60000的订单。它在GROUP BY和HAVING⼦句中使⽤列别名。SELECT

orderNumber [as] 'Order no.',

SUM(priceEach * quantityOrdered) [as] totalFROM

orderdetailsGROUP 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.customerNumberGROUP BYcustomerNameHAVING total >=5

ORDER BY total DESC;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务