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将多条数据合并成一条的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 根据mysql慢日志监控SQL语句执行效率

    根据mysql慢日志监控SQL语句执行效率

    根据mysql慢日志监控SQL语句执行效率 启用MySQL的log-slow-queries(慢查询记录)。
    2012-11-11
  • Mysql主从复制注意事项的讲解

    Mysql主从复制注意事项的讲解

    今天小编就为大家分享一篇关于Mysql主从复制注意事项的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 教你如何在Mac上安装mysql数据库

    教你如何在Mac上安装mysql数据库

    本文给大家详细介绍了如何在Mac上安装mysql数据库的方法,非常的细致,有需要的小伙伴可以参考下
    2018-05-05
  • MySQL优化及索引解析

    MySQL优化及索引解析

    这篇文章主要介绍了MySQL优化及索引解析,索引关系型数据库为了加速对表中行数据检索的数据结构,下面文章详细内容,需要的小伙伴可以参考一下
    2022-03-03
  • MySQL中在查询结果集中得到记录行号的方法

    MySQL中在查询结果集中得到记录行号的方法

    这篇文章主要介绍了MySQL中在查询结果集中得到记录行号的方法,本文解决方法是通过预定义用户变量来实现,需要的朋友可以参考下
    2015-01-01
  • 登录mysql报错Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)解决方法

    登录mysql报错Can‘t connect to MySQL server&n

    这篇文章主要给大家介绍了登录mysql报错 Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)解决方法,文中有详细的解决步骤,需要的朋友可以参考下
    2023-09-09
  • mysql不重启的情况下修改参数变量

    mysql不重启的情况下修改参数变量

    这篇文章主要介绍了mysql不重启的情况下修改参数变量,需要的朋友可以参考下
    2014-06-06
  • MySQL的Query Cache图文详解

    MySQL的Query Cache图文详解

    Query Cache就是把查询返回的结果缓存起来,但是,仅仅只是缓存查询返回的结果,其实是不准确的,Query Cache还会缓存查询语句,在内存中将查询语句和查询返回的结果映射起来
    2021-07-07
  • mysql慢查询介绍及开启技巧详解

    mysql慢查询介绍及开启技巧详解

    这篇文章主要为大家介绍了mysql慢查询介绍及开启技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论