MySQL如何为表和字段取别名详解

 更新时间:2022年11月07日 10:10:57   作者:Vincenyang  
在SQL语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是SQL标准语法,几乎所有的数据库系统都支持,下面这篇文章主要给大家介绍了关于MySQL如何为表和字段取别名的相关资料,需要的朋友可以参考下

为表和字段取别名

阿文之前介绍过MySQL的分组查询、集合函数查询和嵌套子查询,在编写SQL语句时有的地方使用到AS关键字为查询结果中的某一列指定一个特定的名字。在内连接查询时,则对相同的表分别指定两个不同的名字,在这里可以为字段或者表取一个表名,起到区分、标识和简化的作用。

1.为表取别名

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

语法格式:

表名 AS 表别名

  • "表名"为数据库中存储的数据表的名称
  • "表别名"为查询时指定的表的新名称,AS关键字为可选参数

例子:

SELECT * FROM fruits AS OD WHERE OD.s_id = 103;

查询结果:

在这里fruits AS OD代码表示为fruits表取别名为OD,指定过滤条件直接使用OD代替fruits。

例子:

SELECT OG.s_id,OD.f_name, OG.s_name, OG.s_city FROM fruits AS OD INNER JOIN suppliers AS OG ON OD.s_id = OG.s_id; 

查询结果:

由结果看到,MySQL可以同时为多个表取别名,而且表别名可以放在不同的位置,如WHERE子句、SELECT列表、ON子句以及ORDER BY子句等。

自连接连接是一种特殊的内连接,在连接查询中的两个表都是同一个表,其查询语句如下

例子:

SELECT OD1.s_id, OD2.s_id, OD1.f_name, OD1.f_price, OD1.f_id FROM fruits AS OD1 INNER JOIN fruits AS OD2 ON OD1.s_id = OD2.s_id AND OD2.s_id = 103;

查询结果:

提示:

在为表取别名时,要保证不能与数据库中其他表的名称冲突。且不能为SQL语句的关键字。

2.为字段取别名

在上面的自连接例子中,可以看到查询出来的两个s_id,字段名分别为s_id和s_id(1),不容易区别到底是哪张表的字段,这时候就需要为字段取列别名。

确实,在有些情况下,显示的列的名称很长或者需要区分或者名称不够直观时,就需要为字段取列别名。

语法格式:

字段名 AS 列别名

  • "列名"为表中字段定义的名称
  • "列别名"为字段新的名称

例子

SELECT f_name AS fruit_name, s_id AS supplier_id, f_price AS fruit_price FROM fruits AS f1 WHERE f1.f_price < 5;

查询结果:

也可以为SELECT子句中的计算字段取别名。例如,对使用COUNT聚合函数或者CONCAT等系统函数执行的结果字段取别名。

例子(取别名前):

SELECT CONCAT(TRIM(s_name),"  (", TRIM(s_city),")") FROM suppliers ORDER BY s_name; 

查询结果:

例子(取别名后):

SELECT CONCAT(TRIM(s_name),"  (", TRIM(s_city),")") AS suppliers_title FROM suppliers ORDER BY s_name; 

查询结果:

可以看到比没有取别名的查询结果要更清晰更好理解了

提示:

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

总结

  • 通过给数据表取别名,可以清楚的辨别表,特别在自连接查询时
  • 通过给字段取别名,可以清楚的辨别查询出来的数据,更清晰更好理解

到此这篇关于MySQL如何为表和字段取别名的文章就介绍到这了,更多相关MySQL表和字段取别名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL如何快速导入数据

    MySQL如何快速导入数据

    这篇文章主要介绍了MySQL如何快速导入数据,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL存储Json字符串遇到的问题与解决方法

    MySQL存储Json字符串遇到的问题与解决方法

    要在MySQL中存储数据,必须定义数据库和表结构,下面这篇文章主要给大家介绍了关于MySQL存储Json字符串遇到的问题与解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • MySQL5.7慢查询日志时间与系统时间差8小时原因详解

    MySQL5.7慢查询日志时间与系统时间差8小时原因详解

    这篇文章主要介绍了MySQL5.7慢查询日志时间与系统时间差8小时原因详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • mysql cmd常用命令

    mysql cmd常用命令

    mysql cmd常用命令,偶尔需要命令行执行mysql的朋友可以参考下。
    2011-05-05
  • MySQL命令提示符出现输入错误时如何修改前面的命令

    MySQL命令提示符出现输入错误时如何修改前面的命令

    本文主要介绍了MySQL命令提示符出现输入错误时如何修改前面的命令,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • linux CentOS6.5 yum安装mysql5.6

    linux CentOS6.5 yum安装mysql5.6

    这篇文章主要为大家详细介绍了linux CentOS6.5 yum安装mysql5.6的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • MySQL之where使用详解

    MySQL之where使用详解

    我们需要获取数据库表数据的特定子集时,可以使用where子句指定搜索条件进行过滤。本文主要介绍了MySQL之where使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决方法

    mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决方法

    今天公司的一个网站突然提示MySQL Error Duplicate entry '96624' for key 1错误,经过分析这个问题是由于mysql表中的一个id自增长字段导致。
    2011-09-09
  • MySQL中join语句的基本使用教程及其字段对性能的影响

    MySQL中join语句的基本使用教程及其字段对性能的影响

    这篇文章主要介绍了MySQL中join语句的基本使用及其字段对性能的影响,举了实例来观测join所作用的不同字段字符集编码所造成的性能差异,需要的朋友可以参考下
    2015-12-12
  • MySQL命令行方式进行数据备份与恢复

    MySQL命令行方式进行数据备份与恢复

    本文主要介绍了MySQL命令行方式进行数据备份与恢复,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论