MySQL查询函数---为表和字段取别名
(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查询函数---为表和字段取别名相关推荐
- mysql为表和字段取别名_MySQL查询函数---为表和字段取别名
(1)为表取别名 (2)为字段取别名 (1)为表取别名 当表名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,用这个别名代替原来的名称.为表取别名的基本语法格式 ...
- MySQL查询——为表和字段取别名
在前面介绍分组查询.集合函数查询和嵌套子查询内容中,有的地方使用 AS 关键 字为查询结果中的某一列指定一个特定的名字.在内连接查询时,则对相同的表 fruits 分别指定两 个不同的名字,这里可以为 ...
- MySQL:单表查询---简单查询+条件查询+高级查询+表和字段取别名
目录 一.通用模版展示 简单查询 条件查询 高级查询 表和字段取别名 二.举例说明 简单查询 条件查询 高级查询 表和字段取别名 三.注意事项 四.Mapper简单举例 简单查询 条件查询 高级查询 ...
- MySQL为表和字段取别名
MySQL在查询数据时,可以为表和字段取别名,这个别名可以代替其指定的表和字段 一.为表取别名 查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表的名称 SELE ...
- mysql合并查询结果及为表和字段取别名
利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关键字分隔 ...
- mysql 查询结果取别名_mysql合并查询结果及为表和字段取别名
标签: 利用union关键字,可以给出多条select语句,并将它们的结果组合成单个的结果. 合并是,两个表对应的列数和数据类型必须相同. 各个select语句之间使用union或union all关 ...
- MySQL——为表和字段取别名
1. 为表取别名 当表的名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,以替代表原来的名称. 语法格式如下: 表名 [AS] 表别名 &quo ...
- MySQL数据通过SQL查询指定数据表的字段名及字段备注
MySQL数据通过SQL查询指定数据表的字段名及字段备注 SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.Columns WHERE ...
- MySQL数据库、数据表和字段字符集查询、修改和配置
一.设置编码 LINUX 修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 ...
- mysql中通过sql语句查询指定数据表的字段信息
mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以 ...
最新文章
- MySql层级树查询
- T-SQL基础(三)之子查询与表表达式
- Java 洛谷 P1028 数的计算
- 那些辞职考公的程序员,最后都怎么样了?
- 分布式服务框架原理与实践pdf_阿里架构师的架构探险之路:从零开始写分布式服务框架...
- 逐行创建、读取并写入txt(matlab) 生成文件夹里文件名的.bat文件
- P1425 小鱼的游泳时间【入门题】
- 中国特技飞机市场趋势报告、技术动态创新及市场预测
- DotNetTextBox控件添加外挂插件功能的图文教程。
- 【避坑指南】GD32 KEIL中SW Device没有识别芯片,jlink下载不进去的问题
- 800元组装一台3D打印机全教程流程
- 【君思智慧园区】园区物业管理系统,物业管理系统解决方案
- 大数据新闻推送你怎么看_“大数据”新闻推送中存在的不足与改进
- 全能程序员系列(十二)--开发人员该怎么做PPT?
- 压缩文件解压密码破解之fcrackzip
- 用 XHR + curl.exe 制作 ddns 客户端札记
- 《Science》教你如何写好一篇博士毕业论文!
- 如何测试数字硅麦软件,硅麦参考电路及layout注意事项.PDF
- mac网易邮箱smtp服务器,网易企业邮箱MAC mail客户端设置
- 生活中的定律之马太效应