请稍候,加载中....

SQL 别名

通过使用 SQL,可以为表名称或列名称指定别名。

SQL 别名

通过使用 SQL,可以为表名称或列名称指定别名。

基本上,创建别名是为了让列名称的可读性更强。

列的 SQL 别名语法

SELECT column_name AS alias_name
FROM table_name;

表的 SQL 别名语法

SELECT column_name(s)
FROM table_name AS alias_name;

 


列的别名示例

演示数据库

在猿变手册教程中,我们将使用 yuanbian 样本数据库。

下面是选自 "articles" 表的数据:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |
| 3  | HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00 |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

别名示例

下面的 SQL 语句指定了两个别名,一个是 id 列的别名,一个是 author 列的别名。提示:如果列名称包含空格,要求使用双引号或方括号:

SELECT id AS a_id, title, author AS writer, a_type, pub_date FROM articles;

执行输出结果:

+----+--------------+----------+--------+---------------------+
| id | title        | author   | a_type |      pub_date       |
+----+--------------+---------—+--------+---------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |
| 3  | HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00 |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |
+----+--------------+----------+--------+---------------------+

 


CONCAT 示例

可以通过concat将多个列结合在一起

在下面的 SQL 语句中,我们把id、title结合在一起,并创建一个名为 "new_title" 的别名:

需要注意的是列名用反引号 ` 括起来

SELECT CONCAT(`id`,"-", `title`) AS new_title
FROM articles;
执行输出结果:
+-------------------+----------+--------+---------------------+
|    new_title      | author   | a_type |      pub_date       |
+-------------------+---------—+--------+---------------------+
|   1-hadoop简介    |   大猿    |  311  | 2003-01-05 11:23:00  |
|   2-python元类    |   小猿    |  163  | 2003-01-11 13:00:01  |
|   3-HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00  |
|   4-JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12   |
|   5-ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00   |
+-------------------+----------+--------+---------------------+

 


表的别名示例

文章的详情存储在"articles_detail"表中, 现在需要从articles、articles_detail两表中进行联合查询

为了方便引用表名,对article使用别名 "a", 对article_detail使用别名 "ad"

SELECT a.id, a.title, a.author, a.a_type, a.pub_date,
ad.detail
FROM articles AS a, article_detail AS ad
WHERE a.id=ad.id limit 5

 

执行输出结果:

+----+--------------+----------+--------+---------------------+-----------+
| id | title        | author   | a_type |      pub_date       |  detail   |
+----+--------------+---------—+--------+---------------------------+
| 1  | hadoop简介    |   大猿   |   311  | 2003-01-05 11:23:00 |   .....   |
| 2  | python元类    |   小猿   |   163  | 2003-01-11 13:00:01 |    ....   |
| 3  | HTML基础      |   猿大头  |  497  | 2004-03-09 12:00:00 |    .....   |
| 4  | JavaScript   |    猿媛   |   20   | 2005-11-3 17:34:12 |   ......   |
| 5  | ETL快速入门    |   猿媛   |    3   | 2005-11-7 18:40:00 |   .......  |
+----+--------------+----------+--------+---------------------+-----------|

 


别名适合使用场景

在下面的情况下,使用别名很有用:

  • 在查询中涉及超过一个表
  • 在查询中使用了函数
  • 列名称很长或者可读性差
  • 需要把两个列或者多个列结合在一起

Python学习手册-