MySQL查询——为表和字段取别名
在前面介绍分组查询、集合函数查询和嵌套子查询内容中,有的地方使用 AS 关键 字为查询结果中的某一列指定一个特定的名字。在内连接查询时,则对相同的表 fruits 分别指定两 个不同的名字,这里可以为字段或者表取一个别名,在查询时,使用别名替代其指定的内容,下面将介绍如何为字段和表创建别名以及如何使用别名。
- 为表取别名
当表名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以 为表指定别名,用这个别名替代表原来的名称。为表取别名的基本语法格式为:
表名 [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查询——为表和字段取别名相关推荐
- MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名
目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...
- MySQL为表和字段取别名
MySQL在查询数据时,可以为表和字段取别名,这个别名可以代替其指定的表和字段 一.为表取别名 查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表的名称 SELE ...
- mysql合并查询结果及为表和字段取别名
利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关键字分隔 ...
- mysql 查询结果取别名_mysql合并查询结果及为表和字段取别名
标签: 利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关 ...
- mysql为表和字段取别名_MySQL查询函数---为表和字段取别名
(1)为表取别名 (2)为字段取别名 (1)为表取别名 当表名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,用这个别名代替原来的名称.为表取别名的基本语法格式 ...
- MySQL——为表和字段取别名
1. 为表取别名 当表的名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,以替代表原来的名称. 语法格式如下: 表名 [AS] 表别名 &quo ...
- mysql 所有表的字段信息_mysql如何查询所有表和字段信息
mysql查询所有表和字段信息的方法: 1.根据库名获取所有表的信息 SELECT * FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = 'e ...
- MySQL查询数据表中数据记录(包括多表查询)
MySQL查询数据表中数据记录(包括多表查询) 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: sele ...
- oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段
-------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...
最新文章
- fatal error C1010:unexpected end of file while looking for precompiled header directive报错的解决办法
- ssh框架点击按钮就404_设置404错误页面的5大关键因素
- spark sql基本使用方法介绍(转载)
- 内网通免广告_3D打印进军广告发光字领域,成为名副其实的智能打印工厂
- python字母后移5位加密_LabView对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d…...
- ASP.NET 2.0 中Cookies的Expires属性详解
- java怎么设置zip的名词_[Java]对新创建Zip文件的子项设置 压缩/存储 模式
- 创建Android Virtual Device
- 二叉树(Binary Tree)
- oracle的ebs系统,EBS系统简介
- centeros安装mysql_CenterOS上安装MySQL具体步骤
- Android之bugly使用
- 详解自定义钉钉机器人推送消息(一) PHP篇
- 2021.06.29【R语言】丨png转pdf批量生成
- ZYNQMP_XAZU3EG_VxWorks7 添加USB2.0 USB3.0
- 最近工作中遇到的问题和解决
- Planet比Google earth更好用的地图下载神器Basemaps Viewer不用写代码全球高清影像框选下载tif格式
- 老调重弹,Squirrel,FASTCGI
- Unity初级项目实战:官方宇宙飞机大战游戏(一)
- 为什么 VR/AR 越聚焦越远
热门文章
- 单片机使能是什么意思?
- 刘彬20000词汇06
- 企业劳务派遣的人员怎么界定身份
- EndNote导入文献出现带有大括号{}乱码的解决办法
- JS正则——将字符串中的逗号替换成空格
- 中国计量大学现代科技学院第四届“中竞杯”程序设计校赛(同步赛) F.爬塔(DP)
- 阿里云天池——SQL训练计划_Task3
- Python 自动清理电脑垃圾文件,一键启动即可
- H5身份证上传识别功能
- 数据建模 Database Modeling:概念 (Conceptual) vs 逻辑 (Logical) vs 物理数据 (Physical) 模型