首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL如果使用CASE语句重新计算列,然后使用相同的名称进行别名,如何引用别名?

在MySQL中,如果使用CASE语句重新计算列,并使用相同的名称进行别名,可以通过两种方式引用别名。

第一种方式是使用嵌套查询。在嵌套查询中,将CASE语句重新计算列的结果作为子查询的一个字段,并为该字段指定别名。然后,在外部查询中,可以直接使用该别名引用重新计算列的结果。

示例代码如下:

代码语言:txt
复制
SELECT subquery.alias_name
FROM (
    SELECT CASE
        WHEN condition1 THEN value1
        WHEN condition2 THEN value2
        ELSE value3
    END AS alias_name
    FROM your_table
) AS subquery;

在上述示例中,your_table是你的数据表,condition1condition2等是你的条件,value1value2等是对应条件的值。alias_name是重新计算列的结果的别名。

第二种方式是使用HAVING子句。在SELECT语句中,可以使用HAVING子句来引用别名。HAVING子句用于过滤分组后的结果集,可以在其中使用别名。

示例代码如下:

代码语言:txt
复制
SELECT CASE
    WHEN condition1 THEN value1
    WHEN condition2 THEN value2
    ELSE value3
END AS alias_name
FROM your_table
HAVING alias_name = some_value;

在上述示例中,your_table是你的数据表,condition1condition2等是你的条件,value1value2等是对应条件的值。alias_name是重新计算列的结果的别名,some_value是你要过滤的值。

通过以上两种方式,你可以在MySQL中引用重新计算列的别名。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MySQL基础(快速复习版)

然后表再放到库中 2、一个库中可以有多张表,每张表具有唯一表名用来标识自己 3、表中有一个或多个又称为“字段”,相当于java中“属性” 4、表中每一行数据,相当于java中“对象” 四、常见数据库管理系统...四、MySQL服务启动和停止 方式一:通过命令行 ​ net start 服务名 ​ net stop 服务名 方式二:计算机——右击——管理——服务 五、MySQL服务登录和退出 登录:mysql...,但可以有多个唯一 ②、主键不允许为空,唯一可以为空 2、相同点 都具有唯一性 都支持组合键,但不推荐 外键: 1、用于限制两个表关系,从表字段值引用了主表某字段值 2、外键和主表引用要求类型一致...,意义一样,名称无要求 3、主表引用要求是一个key(一般就是主键) 4、插入数据,先插入主表 删除数据,先删除从表 可以通过以下两种方式来删除主表记录 #方式一:级联删除ALTER TABLE...case when 条件1 then 语句1; when 条件2 then 语句2; … else 语句n; end [case]; 位置: 可以放在任何位置, 如果放在begin end 外面,作为表达式结合着其他语句使用

4.5K20

MySQL中识别符大小写敏感性学习--MySql语法

索引、存储子程序和触发器名在任何平台上对大小写不敏感,别名也不敏感。...在MySQL如何在硬盘上保存和使用表名和数据库名由lower_case_tables_name系统变量确定,可以在启动mysqld时设置。...1 表名在硬盘上以小写保存,名称比较对大小写敏感。MySQL将所有表名转换为小写以便存储和查找。该行为也适合数据库名和表别名。该值为Windows和Mac OS X系统中默认值。...2 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定大小写进行保存,但MySQL将它们转换为小写以便查找。名称比较对大小写敏感。...如果只在一个平台上使用MySQL,通常不需要更改lower_case_tables_name变量。然而,如果你想要在对大小写敏感不同文件系统平台之间转移表,会遇到困难。

97830

MySQL学习笔记-基础介绍

语法如下: truncate table table_name; 对于innoDB表,如果有需要引用外键限制,则truncate table 被映射到delete上;否则使用快速删减(取消和重新创建表...在select语句查询中,可以使用两种方式为指定别名。...然后使用“表别名.列名”读取数据。 6.3.3 外连接查询 外连接查询可以查询两个或两个以上表。外连接查询也需要通过指定字段进行连接。当该字段取值相等时,可以查询出该记录。...(4)temptable:将视图结果存入临时表,然后使用临时表执行语句。 (5)view_name:指创建视图名称,可包含其属性列表。...用于将多行合并成一行,返回一个由多个值组成字符串 mysql 流程控制函数 函数名称 作用 if 判断,流程控制 ifnull 判断是否为空 case 搜索语句 不同进制数字进行转换 函数名称

24110

mysql系列一

SQL语句可以在单行或多行书写,以分号结尾 2. 可使用空格和缩进来增强语句可读性 3. MySQL不区别大小写,建议使用大写 SQL语句分类: 1....列名 类型 ); * 查看当前数据库中所有表名称:SHOW TABLES; * 查看指定表创建语句:SHOW CREATE TABLE 表名(了解); * 查看表结构:DESC 表名; * 删除表...N] FROM 表名; SELECT DISTINCT sal FROM emp; --> 保查询员工表工资,如果存在相同工资只显示一次!...IV 给别名 你也许已经注意到了,当使用运算后,查询出结果集中名称很不好看,这时我们需要给列名起个别名,这样在结果集中列名就显示别名了 SELECT IFNULL(comm, 0...sal相同时,使用comm降序排 三、聚合函数 聚合函数用来做某纵向运算。

95620

07-08 创建计算字段使用函数处理数据第7章 创建计算字段第8章 使用函数处理数据

我们需要直接从数据库中检索出转换、计算或格式化过数据,而不是检索出数据,然后再在客户端应用程序中重新格式化。...字段(field) 基本上与(column)意思相同,经常互换使用,不过数据库一般称为,而术语字段通常与计算字段一起使用。...但是,这个新计算没有名字,它只是一个值。 如果仅在 SQL 查询工具中查看一下结果,这样没有什么不好。但是,一个未命名不能用于客户端应用中,因为客户端没有办法引用它。...从输出看到,结果与以前相同,但现在列名为 vend_title,任何客户端应用都可以按名称引用这个,就像它是一个实际表列一样。 在很多 DBMS 中,AS 关键字是可选,不过最好使用它。...别名还有其他用途,包括在实际表列名包含不合法字符(如空格)时重新命名它,在原来名字含混或容易误解时扩充它。 7.3 执行算数计算 计算字段另一常见用途是对检索出数据进行算术计算

3.7K20

从零开始学后端(2)——MySql常用语句

1、改变标题头; 2、用于表示计算结果含义; 3、作为别名; 4、如果别名使用特殊字符,或者是强制大小写敏感,或有空格时,都需加单引号; ` 不建议别名使用单引号,因为一旦使用,该就不能再排序了...,分类编号,零售价大于等于200并且货品名称匹配'%罗技M1__' 结果排序 使用ORDER BY子句将查询记录进行排序, ASC : 升序,缺省。...SELECT FROM A [INNER] JOIN B ON A. = B. 需求:查询所有商品名称和分类名称: 使用表名前缀在多个表中区分相同。...在不同表中具有相同列名可以用表别名加以区分。 使用别名可以简化查询。 使用表名前缀可以提高执行效率。...如果使用了表别名,则不能再使用真名 需求: 查询货品id,货品名称,货品所属分类名称 需求: 查询零售价大于200无线鼠标 需求: 查询零售价大于200无线鼠标(使用别名) 需求

90930

SQL命令 SELECT(二)

要显示RowID(记录ID),可以使用%ID伪字段变量别名,该别名显示RowID,而不管它被分配名称是什么。...缺省情况下,该字段名称为ID,但如果存在用户自定义ID字段,IRIS可能会对其进行重命名。 在下面的示例中,select-item由一个非限定星号语法组成,用于从表中选择所有。...对数据库进行操作用户提供ObjectScript函数调用(外部函数): SELECT $$REFORMAT(Name)FROM MyTable 如果在系统范围内配置了“允许SQL语句外部函数”...相反,使用case语句来抑制风险。...为所有记录返回相同选择项。 当所有select-items都不引用表数据时,FROM子句是可选如果包含FROM子句,则指定表必须存在。

1.9K10

Hive SQL使用过程中奇怪现象|避坑指南

1 可以看出:相同SQL语句如果使用MySQL,则同一查询将返回1,因为在进行字符串比较时MySQL不区分大小写。...这取决于所使用SQL引擎,在引用数据库中表时需要注意区分大小写。如果使用Hive,则在引用表时无需担心大小写,因为它们始终将字母转换为小写字母。...visitcount > 5 THEN "more than 5" ELSE "less than 5" END 相同查询语句MySQL进行查询,会正常输出结果...非数值类型字符串转为数值类型 使用SQL,我们可以使用CAST命令转换表中数据类型。如果要将字符串列转换为整数,可以执行以下操作。...,并给出了相对应示例,我们在使用过程中可以留意一下这些问题,对比相同SQL语句MySQL和Apache Hive上结果上不同。

2.2K21

MySQL:解决MySQL5.7以上使用GROUP BY语句时报错

前言 本人使用MySQL8.0以上 今天在服务器调试接口时候,使用分组查询语句GROUP BY报错了: > 1055 - Expression #1 of SELECT list is not...官网文档原话: 图片 大概意思就是说:拒绝选择列表、HAVING 条件或 ORDER BY 列表引用非聚合查询,这些既不在 GROUP BY 子句中命名,也不在功能上依赖于(唯一确定)GROUP...标准 SQL MySQL 扩展允许在 HAVING 子句中引用选择列表中别名表达式。...在 MySQL 5.7.5 之前,启用 ONLY_FULL_GROUP_BY 会禁用此扩展,因此需要使用别名表达式编写 HAVING 子句。...从 MySQL 5.7.5 开始,此限制被取消,因此 HAVING 子句可以引用别名,无论是否启用了 ONLY_FULL_GROUP_BY。

1.9K20

重新学习Mysql数据库1:无废话MySQL入门

该系列博文会告诉你如何从入门到进阶,从sql基本使用方法,从MySQL执行引擎再到索引、事务等知识,一步步地学习MySQL相关技术实现原理,更好地了解如何基于这些知识来优化sql,减少SQL执行时间...前言 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行。...; (col): 具有相同数据类型数据集合; 行(row): 每一行用来描述某个人/物具体信息; 值(value): 行具体信息, 每个值必须与该数据类型相同;...from 表名; -- 清空表中记录 创建数据库表 使用 create table 语句可完成对表创建, create table 常见形式: 语法:create table 表名称(声明);...ORDER BY - 语句用于根据指定对结果集进行排序。 DESC - 按照降序对记录进行排序。 ASC - 按照顺序对记录进行排序。

1.2K30

SQL语句逻辑执行过程和相关语法详解

这里就体现了物理顺序和逻辑顺序一个不同点:按照逻辑顺序,在执行SQL语句之初总是会进行笛卡尔积计算如果是两张或多张非常大表,计算笛卡尔积是非常低效行为,这是不能容忍。...注意,选择是"同时性操作",在选择中不能使用别名引用列表中其他。...一方面,关系和元素都需要有唯一标识名称,因此表和也要有名称,即使表表达式也如此。像派生表是嵌套在语句,无法在外部给它指定表明,因此必须为它指定一个表别名。...1.4 关于表别名别名 在SQL语句中,我们避免不了要对表、使用别名进行引用。关于别名,需要注意两点: (1).定义了表别名后,在语句中对该表引用都必须使用别名,而不能使用原表名。...因此,sql server和oracle会直接对该语句报错。 但是MySQL/mariadb就允许在order by中使用非select_list进行排序。它们是如何"偷奸耍滑"呢?

3.5K20

SQL基础查询方法

SELECT 语句从 SQL Server 中检索出数据,然后以一个或多个结果集形式将其返回给用户。结果集是对来自 SELECT 语句数据表格排列。与 SQL 表相同,结果集由行和组成。...使用 FROM 子句可以: 列出选择列表和 WHERE 子句中所引用所在表和视图。可以使用 AS 子句为表和视图名称指定别名。 联接类型。这些类型由 ON 子句中指定联接条件限定。...(正如在电话簿中进行查找一样,如果所给名称是“%mith”,而不是“Smith”,那么您将不知道需从电话簿何处开始搜索。)如果通配符位于表达式内部或位于表达式末尾,则可以使用索引。...ORDER BY 子句中引用列名必须明确地对应于 SELECT 列表中或 FROM 子句中表中如果列名已在 SELECT 列表中有了别名,则 ORDER BY 子句中只能使用别名。...同样,如果表名已在 FROM 子句中有了别名,则 ORDER BY 子句中只能使用别名来限定它们。 排序可以是升序 (ASC),也可以是降序 (DESC)。默认为 ASC。

4.3K10

MySQL 系列】MySQL 语句篇_DQL 语句

如果有两条或更多条语句,则需要使用分号 “;” 将它们分开,以便 MySQL 单独执行每条语句。...2.1.1、关键字 AS 关键字 AS 可以用来给 、表、派生表或者计算结果 取别名。...+ column2 AS "alias" FROM table_name; # 可给计算|总结结果用另外一个新名称来代替 语句说明:①、AS 关键字后面跟别名...# 给别名 FROM employees AS emp; # 给表取别名 根据结果我们可以看到,当我们使用 AS 关键字表示查询字段或计算结果别名时,查询结果返回字段名称将为别名名称...举例: 我们以 MySQL 官方示例数据库 Employees 数据库为例,使用 CASE 自定义 ORDER BY 子句对结果集进行排序。

13510

Mybatis 详解

select 元素允许你配置很多属性来配置每条语句作用细节: 属性 描述 id 在命名空间中唯一标识符,可以被用来引用这条语句 parameterType 将会传入这条语句参数类完全限定名或别名...请使用内联参数映射和 parameterType 属性 resultType 从这条语句中返回期望类型完全限定名或别名。 注意如果返回是集合,那应该设置为集合包含类型,而不是集合本身。...首先,如果数据库支持自动生成主键字段(比如 MySQL),那么可以设置 useGeneratedKeys="true",然后再把 keyProperty 设置到目标属性上就 OK 了。...如果希望得到多个生成,也可以是逗号分隔属性名称列表 keyColumn (仅对 insert 和 update 有用)通过生成键值设置表中列名,这个设置仅在某些数据库(像 PostgreSQL...如果希望使用多个生成,也可以设置为逗号分隔属性名称列表 databaseId 如果配置了数据库厂商标识(databaseIdProvider),MyBatis 会加载所有的不带 databaseId

84220

7天快速掌握MySQL-DAY4

设置mysql别名别名 查询数据时,如果表名很长,使用起来不方便,此时,就可以为表取一个别名,用这个别名来代替表名称 SELECT * FROM 表名 [AS] 别名; 注意,为表指定别名,AS关键字可以省略不写...自连接: 自连接是连接一种用法,但并不是连接一种类型,因为他本质是把一张表当成两张表来使用mysql有时在信息查询时需要进行对自身连接(自连接),所以我们需要为表定义别名。...上面的是一张职员信息表,如果我要查询这张表中每个职员上司,那么必须使用自连接来查询.所以为了能实现这个查询,需要给这张表取两个别名,而且查询中所用所有数据都需要加上表别名前缀,因为两个表数据完全一样...union: union 语句:用于将不同表中相同中查询数据展示出来;(不包括重复数据) {A, B} UNION {B, C} = {A, B, C} SELECT 列名称 FROM 表名称 UNION...SELECT 列名称 FROM 表名称 ORDER BY 列名称; union all: union all 语句:用于将不同表中相同中查询数据展示出来;(包括重复数据) 3.

40320

MySQL面试题

1NF,原子性,确保每都是不可再分最小数据单元 2NF,每个表只做一件事,确保表中与主键相关 3NF,减少冗余,确保每个与主键直接相关 MySQL是什么类型数据库 关系型数据库,是建立在关系模型基础上数据库...语句相同,可以删除表中所有行,但是truncate table 比delete速度快,且使用系统和事务日志资源很少。...detele语句用于删除表中行,并且同时将该行删除操作作为事务记录在日志中保存,以便进行回滚操作。...聚集索引:表中行物理顺序与键值逻辑顺序相同,一个表只能包含一个聚集索引 非聚集索引:表中物理顺序与键值逻辑顺序无关,一个表可以有多个非聚集索引 如何优化查询速度(索引角度) a)查询时减少使用...e)根据业务数据发送频率,定期重新生成或重新组织索引,进行碎片整理 查询时减少使用*返回全部,不要返回不需要 a)频繁搜索 b)经常用作查询 c)经常排序,分组 d)经常用作连接

22260
领券