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别名。