MySQL查询——为表和字段取别名

这篇具有很好参考价值的文章主要介绍了MySQL查询——为表和字段取别名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在前面介绍分组查询、集合函数查询和嵌套子查询内容中,有的地方使用 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, 查询结果如下:

MySQL查询——为表和字段取别名 

为 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查询——为表和字段取别名

 由结果看到,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查询——为表和字段取别名 

在这里,如果不使用表别名,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;

MySQL查询——为表和字段取别名

 也可以为 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;

 MySQL查询——为表和字段取别名

MySQL查询——为表和字段取别名 

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

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

 MySQL查询——为表和字段取别名

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

提 示:表别名只在执行查询的时候使用,并不在返回结果中显示,而列别名定义之后,将返回 给客户端显示,显示的结果字段为字段列的别名。 文章来源地址https://www.toymoban.com/news/detail-486487.html

到了这里,关于MySQL查询——为表和字段取别名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql 分组函数,分组查询

    #1.分组函数 功能:用作统计使用,又称聚合函数,统计函数,组函数 分类: sum :求和,avg 平均值,max最大值,min最小值,count计算个数 特点: sum, avg 一般用于处理数值型 max ,min ,count 可以处理任何类型 是否忽略Null count: MYISAM 存储引擎下,COUNT( ) 的效率高 INNODB 存储引擎下,COUN

    2024年01月25日
    浏览(55)
  • 玩转SQL语句之group by 多字段分组查询与having子句,一篇解决你的疑惑!

    分组,顾名思义,分成小组。简而言之就是就是把相同的数据分到一个组。 如下表(表名gb),里面有16条数据,前8条是狗狗,后8条是猫猫. 现在对name这个列进行分组查询 得到结果如下: 我们发现他把原始表分为了两个小组,狗狗小组和猫猫小组。从这可以看出分组查询就

    2023年04月18日
    浏览(42)
  • MySQL学习笔记 ------ 分组查询

    //----------分组查询----------// 注意:查询列表必须特殊,要求是分组函数和group by后出现的字段; 1、和分组函数一同查询的字段必须是group by后出现的字段; 2、筛选分为两类:分组前筛选和分组后筛选;                                 使用        筛

    2024年02月15日
    浏览(36)
  • 【MySQL】聚合函数与分组查询

    MySQL中的聚合函数用于对数据进行计算和统计,常见的聚合函数包括下面列举出来的聚合函数: 查看班级有多少同学 统计数学成绩有多少个 统计英语不及格的人数 查看数学成绩的总和 统计英语不及格的分数总和 统计不及格的英语的平均分不需要上面那么麻烦自己手动除:

    2024年02月14日
    浏览(41)
  • mysql单表查询,排序,分组查询,运算符

    查询插入的数据据 – 1. 查询出部门编号为30的所有员工 – 2. 所有销售员的姓名、编号和部门编号。 – 3. 找出奖金高于工资的员工。 – 4. 找出奖金高于工资60%的员工。 – 5. 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。 – 6. 找出部门编号为10中

    2024年02月13日
    浏览(40)
  • MySQL---多表分组查询综合练习

    CREATE TABLE dept ( deptno INT(2) NOT NULL COMMENT \\\'部门编号\\\', dname VARCHAR (15) COMMENT \\\'部门名称\\\', loc VARCHAR (20) COMMENT \\\'地理位置\\\' ); 添加dept表主键 mysql alter table dept add primary key(deptno);           Query OK, 0 rows affected (0.02 sec)                       Records: 0  Duplicates: 0  Warnings:

    2024年01月23日
    浏览(49)
  • MySQL-DQL-分组查询

    语法: select 字段列表 from 表名[ where 条件 ] group by 分组字段名 [ having 分组后过滤条件 ]; group by 具体代码 having 具体代码 where 和having区别( 面试题目 ) 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是 对分组后对结果进行过滤 判断条件不

    2024年02月16日
    浏览(32)
  • Mysql的分组查询和统计计算

    1.聚合函数 聚合函数实现数据的统计计算,用于计算表中的数据,返回单个计算结果。聚合函数包括COUNT、SUM、AVG、MAX、MIN等函数,下面分别介绍。 (1)COUNT函数 COUNT函数用于计算组中满足条件的行数或总行数。 语法格式: COUNT ( { [ ALL | DISTINCT ] 表达式 } | * ) 其中,ALL表示

    2024年02月16日
    浏览(35)
  • MYSQL之查询按日期分组统计

    1.1、dayofyear、dayofmonth、dayofweek dayofyear(date) 函数返回日期位于所在年份的第几天,范围是1 ~ 366 dayofmonth(date) 函数返回日期位于所在月份的第几天,范围是1 ~ 31 dayofweek(date) 函数返回日期位于所在周的第几天,范围是1 ~ 7 查询语句 查询结果    需要注意的是,如果是 dayofmon

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包