返回顶部
首页 > 资讯 > 数据库 >MySQL查询函数之为表和字段取别名的案例
  • 184
分享到

MySQL查询函数之为表和字段取别名的案例

2024-04-02 19:04:59 184人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Mysql查询函数之为表和字段取别名的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。(1)、为表取别名当表名字很长或者执行一些特殊查询时,

这篇文章将为大家详细讲解有关Mysql查询函数之为表和字段取别名的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

(1)、为表取别名

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

表名 [as] 表别名

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

【例1】为orders表取别名o,查询30001订单的下单日期,sql语句如下;

mysql> select * from orders as o    -> where o.o_num = 30001;+-------+---------------------+-------+| o_num | o_date              | c_id  |+-------+---------------------+-------+| 30001 | 2008-09-01 00:00:00 | 10001 |+-------+---------------------+-------+1 row in set (0.00 sec)

【例2】为customers和orders表分别取别名,并进行连接查询,SQL语句如下:

mysql> select c.c_id,o.o_num    -> from customers as c left join orders as o    -> on c.c_id = o.c_id;+-------+-------+| c_id  | o_num |+-------+-------+| 10001 | 30001 || 10003 | 30002 || 10004 | 30003 || 10001 | 30005 || 10002 |  NULL |+-------+-------+5 rows in set (0.05 sec)

由结果可以看到,MySQL可以同时为多个表取别名,而且表别名可以放在不同的位置,如where子句、select列表、on子句以及order by子句等。

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

mysql> select f1.f_id,f1.f_name    -> from fruits as f1,fruits as f2    -> where f1.s_id = f2.s_id and f2.f_id = 'a1';+------+------------+| f_id | f_name     |+------+------------+| a1   | apple      || b1   | blackberry || c0   | cherry     |+------+------------+3 rows in set (0.00 sec)
(2)、为字段取别名

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

列名 [as] 列别名

"列名"为表中字段定义的名称,"列别名"为字段新的名称,as关键字为可选参数。

【例1】查询fruits表,为f_name取别名fruit_name、f_price取别名fruit_price,再为fruits表取别名f1,查询表中f_price<8的水果名称,SQL语句如下:

mysql> select f1.f_name as fruits_name,f1.f_price as fruit_price    -> from fruits as f1    -> where f1.f_price <8;+-------------+-------------+| fruits_name | fruit_price |+-------------+-------------+| lemon       |        6.40 || apple       |        5.20 || apricot     |        2.20 || berry       |        7.60 || xxxx        |        3.60 || cherry      |        3.20 || xbabay      |        2.60 || grape       |        5.30 || xbabay      |        3.60 |+-------------+-------------+9 rows in set (0.00 sec)

【例2】查询suppliers表中字段s_name和s_city,使用concat函数连接这两个字段值,并取列别名为suppliers_title。

mysql> select concat(trim(s_name),'(',trim(s_city),')')
    -> from suppliers    -> order by s_name;+-------------------------------------------+| concat(trim(s_name),'(',trim(s_city),')') |+-------------------------------------------+| ACME(Shanghai)                            || DK Inc(Zhengzhou)                         || FastFruit Inc.(Tianjin)                   || FNK Inc.(Zhongshan)                       || Good Set(Taiyuan)                         || Just Eat Ours(Beijing)                    || LT Supplies(Chongqing)                    |+-------------------------------------------+7 rows in set (0.00 sec)

由结果可以看到,显示结果的列名称为select子句后面的计算字段,实际上计算之后的列是没有名字的,这样的结果让人很不容易理解,如果为字段取一个别名,将会使结果更清晰,SQL语句如下:

mysql> select concat(trim(s_name),'(',trim(s_city),')')
    -> as suppliers_title    -> from suppliers    -> order by s_name;+-------------------------+| suppliers_title         |+-------------------------+| ACME(Shanghai)          || DK Inc(Zhengzhou)       || FastFruit Inc.(Tianjin) || FNK Inc.(Zhongshan)     || Good Set(Taiyuan)       || Just Eat Ours(Beijing)  || LT Supplies(Chongqing)  |+-------------------------+7 rows in set (0.00 sec)

可以看到,select增加了 as suppliers_title,它指示了MySQL为计算字段创建一个别名suppliers_title,显示结果为指定的列别名,这样就增强了查询结果的可读性。

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

关于“MySQL查询函数之为表和字段取别名的案例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL查询函数之为表和字段取别名的案例

本文链接: https://lsjlt.com/news/55343.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作