首页 > 数据库 >sql学习:终于把sql case语句使用讲明白了,一看就懂

sql学习:终于把sql case语句使用讲明白了,一看就懂

时间:2024-05-12 10:08:30浏览次数:14  
标签:case 语句 CASE sql 执行 表达式

作者 | 幸福it民工
来源 | 今日头条

在数据库查询分析中,经常遇到case条件判断,总结出来供大家参考,下面通过两个实例给大家讲解。

case用途介绍:

CASE是多条件分支语句,相比IF…ELSE语句,CASE语句进行分支流程控制可以使代码更加晰,易于理解。CASE语句也根据表达式逻辑值的真假来决定执行的代码流程,CASE语句有两种方式。

第一种方式:

CASE语句在执行时,将CASE后的表达式的值与各WHEN子句的表达式值比较,如果相等,则执行THEN后面的表达式或语句,然后跳出CASE语句;否则,返回ELSE后面的表达式。

【举例】使用CASE语句根据学生姓名判断各个学生在班级的职位,输入语句如下。

代码执行结果如下:

第二种方式:

CASE关键字后面没有表达式,多个WHEN子句中的表达式依次执行,如果表达式结果为真,则执行相应THEN关键字后面的表达式或语句,执行完毕之后跳出CASE语句。如果所有WHEN语句都为FALSE,则执行ELSE子句中的语句。

【举例】使用CASE语句对考试成绩进行评定,输入语句如下。

代码执行结果如下:

通过两个实例,我们看到case的不同用法,在实际工作中经常会遇到,点关注收藏哦,你学会了吗,关注我一起学习sql语句。

标签:case,语句,CASE,sql,执行,表达式
From: https://www.cnblogs.com/chengjingqianhe/p/18187535

相关文章

  • MySQL Join原理分析(缓冲块嵌套与索引嵌套循环)
    场景假设A表(1000条数据)leftjoinB表(1000条数据)。嵌套循环(Nested-LoopJoin)极简概括:顾名思义多层循环叠加,由于MySQL条数数量有限,所用for循环而不用while,在MySQL中就是多层for循环。性能问题:MySQL使用这种作为join方式最简单,A表joinB表每次join查询都需要一百万次内部关联,每次......
  • 10分钟了解Flink SQL使用
    Flink是一个流处理和批处理统一的大数据框架,专门为高吞吐量和低延迟而设计。开发者可以使用SQL进行流批统一处理,大大简化了数据处理的复杂性。本文将介绍FlinkSQL的基本原理、使用方法、流批统一,并通过几个例子进行实践。1、FlinkSQL基本原理FlinkSQL建立在ApacheFlink之上......
  • java MySQL的in查询两个字段同时相等的多个数据查询
    在Java中想进行下面的查询,不想写循环一条条查selectid,name,address,age fromuserswherename='A' and address='addr1'selectid,name,address,age fromuserswherename='B' and address='addr2'selectid,name,address,age fromusers......
  • 贝壳面试:MySQL联合索引,最左匹配原则是什么?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • MySQL中的一些其他比较符
    一、在两者之间(可以看成数学中的闭区间)BETWEEN...AND...在两个值之间(包含)SELECTLAST_NAME,SALARYFROMemployeesWHERESALARYBETWEEN3500AND6000;二、匹配一个任意值列表IN(set)使用该关键字之后会给定一个列表,所取的值都在这个列表中间,在查询数据的时候,会对这个set中......
  • SQL SERVER 数据库清空语句 忽略外键 触发器 等(转载)
    有时候我们想清空SQLServer中所有表的数据,但是由于有外键约束和触发器,有时候清表语句无法执行,下面的语句可以关掉和开启一个数据库中的所有外键约束和触发器,以便执行清表语句:USEClothesShopEXECUTEsp_MSForEachTable'ALTERTABLE?NOCHECKCONSTRAINTALL'EXECUTEsp_MS......
  • mysql使用group by查询报错SELECT list is not in GROUP BY clause and contains nona
    官方解释:ONLY_FULL_GROUP_BY是MySQL数据库提供的一个sql_mode,通过这个sql_mode来保证,SQL语句“分组求最值”合法性的检查.这种模式采用了与Oracle、DB2等数据库的处理方式。即不允许selecttargetlist中出现语义不明确的列.对于用到GROUPBY的select语句,查出......
  • SQL 优化
    1.插入数据 1.1insert如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化。insertintotb_testvalues(1,'tom');insertintotb_testvalues(2,'cat');insertintotb_testvalues(3,'jerry');.....优化方案一批量插入数据Insertintotb......
  • 基于PG开发数据库中出现PSQLException: 错误,无法确定参数$1的数据类型
    问题描述在开发接口适配瀚高数据库时,出现此错误:同样的xml文件在达梦、金仓、Mysql中使用模糊查询时未发现错误;...likeconcat('%',#{name},'%')后经排查与数据库连接中:jdbc:highgo://.../test?stringtype=unspecified存在联系。加入``是为了避免ERROR:columnisofty......
  • linux离线安装mysql5.7
    准备工作下载安装包:mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz选定目录安装目录:/usr/local,将安装包上传至/usr/local目录下,通过ftp方式传输具体步骤cd/usr/local解压tar-zxvfmysql-5.7.38-linux-glibc2.12-x86_64.tar.gz重命名mvmysql-5.7.38-linux-glibc2.12-x86_......