MySQL alias 别名

时间:2019-02-04 12:52:25  来源:igfitidea点击:

MySQL ALIASES别名用于为列(字段)或者数据表创建一个临时名称。

列别名使结果集中的列标题更易于阅读。
表别名用于缩短SQL语句,使其更易于阅读或者方便进行自联接。

语法

MySQL中给列COLUMN取别名的语法为:

column_name [ AS ] alias_name

MySQL中给表Table取别名的语法为:

table_name [ AS ] alias_name
参数说明
column_name要取别名的列(字段)
table_name要取别名的表
AS在MySQL中 AS是可选的。是否指定AS关键字对MySQL中的别名没有影响。
大多数DBA在给列(字段)取别名时会指定AS关键字,而在给表取别名时则不指定。
alias_name分配给列或表的临时名称。

说明
-如果alias_name中包含空格,则必须用引号引起来。
-但是,在给表取别名时可以使用空格,但通常不建议使用空格。
-别名只在SQL语句的作用范围内有效。

MySQL alias 别名示例

示例-给列取别名

通常,别名用于使结果集中的列标题更易于阅读。例如,当使用MAX函数时,可以为MAX函数的结果加上名称。

例如:

SELECT department, MAX(salary) AS highest
FROM employees
GROUP BY department;

在此示例中,我们将MAX(salary)字段别名为maximum。在返回结果集时,highest将显示为第二列的标题。
因为highest不包含任何空格,所以不需要将highest括在引号中。

但是,使用引号也是可以的:

SELECT department, MAX(salary) AS "highest"
FROM employees
GROUP BY department;

在下面的示例中,我们就必须将别名括在引号中。

SELECT department, MAX(salary) AS "highest salary"
FROM employees
GROUP BY department;

示例-给表取别名

在表上创建别名,通常用于自联接或者是要缩短表名以使SQL语句更短,更容易阅读。

SELECT p.product_id, p.product_name, suppliers.supplier_name
FROM products p
INNER JOIN suppliers
ON p.supplier_id = suppliers.supplier_id
ORDER BY p.product_name ASC, suppliers.supplier_name DESC;

我们为products表创建了一个名为p的别名。 在写条件和排序的时候,就可以直接使用p。

另外一个例子:

SELECT p.product_id, p.product_name, s.supplier_name
FROM products p
INNER JOIN suppliers s
ON p.supplier_id = s.supplier_id
ORDER BY p.product_name ASC, s.supplier_name DESC;

我们为suppliers表创建了s别名,为products创建了一个p别名。