最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 数据库 > MySQL数据库 >
MySQL为表和字段取别名操作教程
PHP中文网发表于 2021-03-22 16:12 次浏览

目录:

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

(免费学习推荐: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数据库(视频)

以上就是MySQL查询函数之 为表和字段取别名的详细内容,更多请关注群英网络其它相关文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2021-03-22 16:12:26 关键词:MySQL,合并查询结果
摘要:利用union关键字,可以给出多条select语句,并将它们的结果组合成单个结果集。合并时,两个表对应的列数和数据类型必须相同。各个select语句之间使用union或union all 关键字分隔。union不..
2021-03-22 16:11:54 关键词:mysql,数据库,表
摘要:在数据库中,可以使用“DROP TABLE”语句来删除一个或多个数据表,具体语法“DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]”,其中“IF EXISTS”是用于在删除数据表之前判断该表是否存在。..
2021-03-22 16:11:47 关键词:mysql,数据库,字段
摘要:方法:1、使用“ALTER TABLE 表名 ADD 新字段名 数据类型;”语句在末尾添加字段;2、使用“ALTER TABLE 表名 ADD 新字段名 数据类型 FIRST;”语句在开头添加字段。..
2021-03-22 16:11:39 关键词:mysql,数据表,删除数据
摘要:方法:1、使用DELETE语句,可删除表的一行或多行数据,语法“DELETE FROM 表名 [WHERE子句]”;如果省略“WHERE子句”,则可删除表中全部数据。2、使用“TRUNCATE TABLE 表名;”语句,可删除表..
2021-03-22 16:11:19 关键词:MySQL,子查询
摘要:子查询是指一个查询语句嵌套在另一个查询语句内部的查询。在select子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。子查询中常用..