(1)为表取别名
(2)为字段取别名


(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查询函数---为表和字段取别名相关推荐

  1. mysql为表和字段取别名_MySQL查询函数---为表和字段取别名

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

  2. MySQL查询——为表和字段取别名

    在前面介绍分组查询.集合函数查询和嵌套子查询内容中,有的地方使用 AS 关键 字为查询结果中的某一列指定一个特定的名字.在内连接查询时,则对相同的表 fruits 分别指定两 个不同的名字,这里可以为 ...

  3. MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名

    目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...

  4. MySQL为表和字段取别名

    MySQL在查询数据时,可以为表和字段取别名,这个别名可以代替其指定的表和字段 一.为表取别名 查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表的名称 SELE ...

  5. mysql合并查询结果及为表和字段取别名

    利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关键字分隔 ...

  6. mysql 查询结果取别名_mysql合并查询结果及为表和字段取别名

    标签: 利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关 ...

  7. MySQL——为表和字段取别名

    1.  为表取别名 当表的名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,以替代表原来的名称. 语法格式如下:    表名   [AS]   表别名 &quo ...

  8. MySQL数据通过SQL查询指定数据表的字段名及字段备注

    MySQL数据通过SQL查询指定数据表的字段名及字段备注 SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.Columns WHERE ...

  9. MySQL数据库、数据表和字段字符集查询、修改和配置

    一.设置编码 LINUX  修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加    default-character-set=utf8 在[mysqld]下添加 ...

  10. mysql中通过sql语句查询指定数据表的字段信息

      mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以 ...

最新文章

  1. MySql层级树查询
  2. T-SQL基础(三)之子查询与表表达式
  3. Java 洛谷 P1028 数的计算
  4. 那些辞职考公的程序员,最后都怎么样了?
  5. 分布式服务框架原理与实践pdf_阿里架构师的架构探险之路:从零开始写分布式服务框架...
  6. 逐行创建、读取并写入txt(matlab) 生成文件夹里文件名的.bat文件
  7. P1425 小鱼的游泳时间【入门题】
  8. 中国特技飞机市场趋势报告、技术动态创新及市场预测
  9. DotNetTextBox控件添加外挂插件功能的图文教程。
  10. 【避坑指南】GD32 KEIL中SW Device没有识别芯片,jlink下载不进去的问题
  11. 800元组装一台3D打印机全教程流程
  12. 【君思智慧园区】园区物业管理系统,物业管理系统解决方案
  13. 大数据新闻推送你怎么看_“大数据”新闻推送中存在的不足与改进
  14. 全能程序员系列(十二)--开发人员该怎么做PPT?
  15. 压缩文件解压密码破解之fcrackzip
  16. 用 XHR + curl.exe 制作 ddns 客户端札记
  17. 《Science》教你如何写好一篇博士毕业论文!
  18. 如何测试数字硅麦软件,硅麦参考电路及layout注意事项.PDF
  19. mac网易邮箱smtp服务器,网易企业邮箱MAC mail客户端设置
  20. 生活中的定律之马太效应

热门文章

  1. 麻省理工大学公开课笔记:算法导论(一)——引言
  2. linux系统新增一块SCSI硬盘并分区挂载到指定目录
  3. 帕拉丁(山东)俱乐部大型西藏自驾游,天籁之旅,与心灵自由相约
  4. Hibernate 的检索策略
  5. Pyscript,使用Python编写前端脚本
  6. HTTP协议简介和系统命令curl,AIP调用 (ELK中运用)
  7. 解决no-console异常
  8. 【修真院“善良”系列之十九】他删库了他跑路了
  9. 我在华为工作十年的感悟
  10. 狐狸找兔子问题 C语言