MySQL AS:设置别名

在使用 MySQL 查询时,当表名很长或者执行一些特殊查询的时候,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,用这个别名代替表原来的名称。

为表取别名的基本语法格式为:

<表名> [AS] <别名>

其中各子句的含义如下:
  • <表名>:数据中存储的数据表的名称。 ·
  • <别名>:查询时指定的表的新名称。
  • AS:关键字为可选参数。

【实例 1】为 tb_students_info 表取别名 stu,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT stu.name,stu.height
    -> FROM tb_students_info AS stu;
+--------+--------+
| name   | height |
+--------+--------+
| Dany   |    160 |
| Green  |    158 |
| Henry  |    185 |
| Jane   |    162 |
| Jim    |    175 |
| John   |    172 |
| Lily   |    165 |
| Susan  |    170 |
| Thomas |    178 |
| Tom    |    165 |
+--------+--------+
10 rows in set (0.04 sec)
注意:在为表取别名时,要保证不能与数据库中的其他表的名称冲突。

在使用 SELECT 语句显示查询结果时,MySQL 会显示每个 SELECT 后面指定输出的列,在有些情况下,显示的列名称会很长或者名称不够直观,MySQL 可以指定列的别名,替换字段或表达式。

为列取别名的基本语法格式为:

<列名> [AS] <列别名>

其中,各子句的语法含义如下:
  • <列名>:为表中字段定义的名称。
  • <列别名>:字段新的名称。
  • AS:关键字为可选参数。

【实例 2】查询 tb_students_info 表,为 name 取别名 student_name,为 age 取别名student_age,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT name AS student_name,
    -> age AS student_age
    -> FROM tb_students_info;
+--------------+-------------+
| student_name | student_age |
+--------------+-------------+
| Dany         |          25 |
| Green        |          23 |
| Henry        |          23 |
| Jane         |          22 |
| Jim          |          24 |
| John         |          21 |
| Lily         |          22 |
| Susan        |          23 |
| Thomas       |          22 |
| Tom          |          23 |
+--------------+-------------+
10 rows in set (0.00 sec)

注意:表别名只在执行查询时使用,并不在返回结果中显示,而列定义别名之后,将返回给客户端显示,显示的结果字段为字段列的别名。