在前面介绍分组查询、集合函数查询和嵌套子查询内容中,有的地方使用 AS 关键 字为查询结果中的某一列指定一个特定的名字。在内连接查询时,则对相同的表 fruits 分别指定两 个不同的名字,这里可以为字段或者表取一个别名,在查询时,使用别名替代其指定的内容,下面将介绍如何为字段和表创建别名以及如何使用别名。

  1. 为表取别名

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

表名 [AS] 表别名

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

为 orders 表取别名 o,查询 30001 订单的下单日期,SQL 语句如下:

SELECT * FROM orders AS o WHERE o.o_num = 30001;

在这里 orders AS o 代码表示为 orders 表取别名为 o,指定过滤条件时直接使用 o 代替 orders, 查询结果如下:

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

 SELECT c.c_id, o.o_num FROM customers AS c LEFT OUTER JOIN orders AS o ON c.c_id = o.c_id;

由结果看到,MySQL 可以同时为多个表取别名,而且表别名可以放在不同的位置,如 WHERE 子句、SELECT 列表、ON 子句以及 ORDER BY 子句等。 在前面介绍内连接查询时指出自连接是一种特殊的内连接,在连接查询中的两个表都是同一 个表,其查询语句如下:

 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';

在这里,如果不使用表别名,MySQL 将不知道引用的是哪个 fruits 表实例,这是表别名一个 非常有用的地方。

提 示:在为表取别名时,要保证不能与数据库中其他表的名称冲突。

2. 为字段取别名 

从本章和前面各章节的例子中可以看到,在使用 SELECT 语句显示查询结果时,MySQL 会显 示每个 SELECT 后面指定的输出列,在有些情况下,显示的列的名称会很长或者名称不够直观, MySQL 可以指定列别名,替换字段或表达式。为字段取别名的基本语法格式为:

列名 [AS] 列别名

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

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

 SELECT f1.f_name AS fruit_name, f1.f_price AS fruit_price FROM fruits AS f1 WHERE f1.f_price < 8;

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

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

如果没有对连接后的值取别名,其显示列名称将会不够直观,SQL 语句如下:

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

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

 SELECT CONCAT(TRIM(s_name) , ' (', TRIM(s_city), ')') AS suppliers_title FROM suppliersORDER BY s_name;

由结果可以看到,SELECT 子句计算字段值之后增加了 AS suppliers_title,它指示 MySQL 为计算字段创建一个别名 suppliers_title,显示结果为指定的列别名,这样就增强了查询结果的可读性。

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

MySQL查询——为表和字段取别名相关推荐

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

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

  2. MySQL为表和字段取别名

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

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

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

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

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

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

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

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

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

  7. mysql 所有表的字段信息_mysql如何查询所有表和字段信息

    mysql查询所有表和字段信息的方法: 1.根据库名获取所有表的信息 SELECT * FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'e ...

  8. MySQL查询数据表中数据记录(包括多表查询)

    MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...

  9. oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段

    -------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...

最新文章

  1. fatal error C1010:unexpected end of file while looking for precompiled header directive报错的解决办法
  2. ssh框架点击按钮就404_设置404错误页面的5大关键因素
  3. spark sql基本使用方法介绍(转载)
  4. 内网通免广告_3D打印进军广告发光字领域,成为名副其实的智能打印工厂
  5. python字母后移5位加密_LabView对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d…...
  6. ASP.NET 2.0 中Cookies的Expires属性详解
  7. java怎么设置zip的名词_[Java]对新创建Zip文件的子项设置 压缩/存储 模式
  8. 创建Android Virtual Device
  9. 二叉树(Binary Tree)
  10. oracle的ebs系统,EBS系统简介
  11. centeros安装mysql_CenterOS上安装MySQL具体步骤
  12. Android之bugly使用
  13. 详解自定义钉钉机器人推送消息(一) PHP篇
  14. 2021.06.29【R语言】丨png转pdf批量生成
  15. ZYNQMP_XAZU3EG_VxWorks7 添加USB2.0 USB3.0
  16. 最近工作中遇到的问题和解决
  17. Planet比Google earth更好用的地图下载神器Basemaps Viewer不用写代码全球高清影像框选下载tif格式
  18. 老调重弹,Squirrel,FASTCGI
  19. Unity初级项目实战:官方宇宙飞机大战游戏(一)
  20. 为什么 VR/AR 越聚焦越远

热门文章

  1. 单片机使能是什么意思?
  2. 刘彬20000词汇06
  3. 企业劳务派遣的人员怎么界定身份
  4. EndNote导入文献出现带有大括号{}乱码的解决办法
  5. JS正则——将字符串中的逗号替换成空格
  6. 中国计量大学现代科技学院第四届“中竞杯”程序设计校赛(同步赛) F.爬塔(DP)
  7. 阿里云天池——SQL训练计划_Task3
  8. Python 自动清理电脑垃圾文件,一键启动即可
  9. H5身份证上传识别功能
  10. 数据建模 Database Modeling:概念 (Conceptual) vs 逻辑 (Logical) vs 物理数据 (Physical) 模型