外链论坛

 找回密码
 立即注册
搜索
查看: 49|回复: 4

MySQL8第48期-MySQL查询数据之为表和字段取别名

[复制链接]

2941

主题

412

回帖

9117万

积分

论坛元老

Rank: 8Rank: 8

积分
91179299
发表于 2024-8-4 15:44:20 | 显示全部楼层 |阅读模式
点击蓝字,关注咱们

在前几期的查找中,有朋友重视到有的地区运用AS关键字做为查找结果中的某一列的指定名叫作

(1)为表取别名

当表名字很长执行有些特殊查找时,为了方便操作必须多次运用相同的表时,能够为表指定别名,用这个别名替表率原来的名叫作。为表取别名的基本语法格式为:

表名[AS] 表别名

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

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

SELECT * FROM orders AS o

WHERE o.o_num=30001;

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

在前面介绍内连接查找时指出自连接是一种特殊的内连接,在连接查找中的两个表都是同一个表,其查找语句如下:

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;

以上查找结果,等同于:

SELECT f_id,f_name

FROM fruits

WHERE s_id=101;

在为表取别名时,要保准不可与数据库中其他表的名叫作冲突。

(2)为字段取别名

在有些状况下,表示的列的名叫作会很长叫作不足直观,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;

这般的结果让人很不易理解,倘若为字段取一个别名,将会使结果清晰,SQL语句如下:

SELECT CONCAT(TRIM(s_name),(,TRIM(s_city),))

AS suppliers_title

FROM suppliers

ORDER BY s_name;

表别名仅在执行查找的时候运用,并不在返回结果中表示,而列别名定义之后,将返回给客户端显示,表示的结果字段为字段列的别名。

(以上内容参考书籍《MySQL8从入门到精通》,作者王英英,如有必须自动购买,如有侵权,请联系删除。)

扫码关注
回复

使用道具 举报

3046

主题

2万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098928
发表于 2024-10-16 10:23:50 | 显示全部楼层
感谢你的精彩评论,为我的思绪打开了新的窗口。
回复

使用道具 举报

3046

主题

2万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098928
发表于 2024-10-19 19:36:51 | 显示全部楼层
外链发布论坛学习网络优化SEO。
回复

使用道具 举报

3016

主题

2万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139149
发表于 2024-10-28 01:44:45 | 显示全部楼层
你的话语真是温暖如春,让我心生感激。
回复

使用道具 举报

3016

主题

2万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139149
发表于 7 天前 | 显示全部楼层
“板凳”(第三个回帖的人)‌
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-9 05:04 , Processed in 0.074263 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.