MySQL函数—流程函数

MySQL函数—流程函数:用于实现条件筛选,从而题搞语句的效率。

MySQL函数—流程函数
函数功能
IF(value,t,f)如果value为true,则返回t,否则返回f
IFNULL(value1,value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [val1] THEN [res1]...ELSE [default] END如果val1为true,返回res1,...否则返回default默认值
CASE [expr] WHEN [val1] THEN [res1]...ELSE [default] END如果expr的值等于val1,返回res1,...否则返回default默认值

1、IF

 select if(false,'ok','Error');select if(true,'ok','Error');

2、IFNULL:第一个val值,必须写null才会输出第二个value。如果是空的字符串,他也会输出第一个value,输出空。

select ifnull('ok','default');
select ifnull('','default');
select ifnull(null,'default');

3、CASE WHEN [val1] THEN [res1],...ELSE [default] END

CASE [expr] WHEN [val1] THEN [res1]...ELSE [default] END

查询emp表的员工姓名和工作地址(北京/上海-------》一线城市,    其他----------》二线城市)

SELECT 
name,
CASE WHEN WORK_ADDRESS='北京' THEN '一线城市' WHEN WORK_ADDRESS='上海' THEN '一线城市' ELSE '二线城市' END '工作地址'
from emp;SELECT 
name,
CASE WORK_ADDRESS WHEN'北京' THEN '一线城市' WHEN '上海' THEN '一线城市' ELSE '二线城市' END '工作地址'
from emp;

 案例:

统计班级各个成员的成绩,展示规则如下:

------- >=85    优秀

------- >=60   及格

------- 否则    不及格 

CREATE TABLE `score` (`id` int DEFAULT NULL COMMENT 'ID',`name` varchar(20) DEFAULT NULL COMMENT '姓名',`math` int DEFAULT NULL COMMENT '数学',`english` int DEFAULT NULL COMMENT '英语',`chinese` int DEFAULT NULL COMMENT '语文'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学员成绩表' 

SELECT
name,
CASE WHEN math >=85 THEN '优秀' WHEN math >=60 THEN '及格' ELSE '不及格' END '数学',
CASE WHEN english >=85 THEN '优秀' WHEN english >=60 THEN '及格' ELSE '不及格' END '英语',
CASE WHEN chinese >=85 THEN '优秀' WHEN chinese >=60 THEN '及格' ELSE '不及格' END '语文'
from score;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue+OpenLayers7,快速搭建Vue+OpenLayers7地图脚手架项目。从零开始构建Vue项目并整合OpenLayers7.5.2

返回专栏目录:Vue+OpenLayers7 前言 本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。 本章会详细讲解从NodeJS环境到npm环境的各个步骤,再到使用vue-cli脚手架快速生成项目,以及添加OpenLayers7地图库依赖,编写简单的xyz高德地图显示页面的完整教程。 如…

5G安卓手机定制_基于天玑900的安卓主板方案

5G安卓手机方案是一款采用联发科MT6877(天玑900)平台的高性能、可运行安卓操作系统的5G智能模块。该手机采用台积电6纳米低功耗工艺,主频高达2.4GHz,内存支持LPDDR5,并支持5G Sub-6GHz全频段和5G双载波聚合技术等多种制式。同时,该…

docker相关

下载Ubuntu18.04文件64位(32位安装不了MySQL) https://old-releases.ubuntu.com/releases/18.04.4/?_ga2.44113060.1243545826.1617173008-2055924693.1608557140 Linux ubuntu16.04打开控制台:到桌面,可以按快捷键ctrlaltt 查…

国民技术N32G430C8开发笔记一-新建IAR工程

一、创建IAR工程 1、新建工程,保存到project文件夹。 2、添加SDK到工程。 根据原厂SDK的文件结构在IAR新建相应分组,把各个文件夹的文件加载进去,其中startup文件选择IAR平台的startup_n32g430_EWARM.s。 3、添加头文件路径&#xff0…

2024-01-24(ElasticSearch)

1.mysql和elasticsearch的架构: 2.IK分词器利于分中文词汇。 底层是有一个中文字典,这个字典中的中文词汇也是可以拓展的和禁用某些词。 3.mapping常见属性: type:数据类型 index:是否索引 analyzer:分…

重设红帽Linux root密码:简单实用指南

在使用红帽Linux系统时,我们可能会遇到忘记root密码的情况红帽linux系统root密码,这时候该怎么办呢?本文将详细介绍如何重置红帽Linux系统的root密码。 1.进入单用户模式 首先,我们需要进入单用户模式。开机时红帽linux系统root…

一个使用pyqt的word文档查重工具

一个使用pyqt的word文档查重工具 使用场景代码使用截图打包好的软件下载链接结尾 使用场景 有时我们在借鉴一篇文档之后还不想有太多重复,这个时候可以使用这个工具对两个word文档进行对比 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWind…

C++ inline 关键字有什么做用?

C/C 之中 inline 是一个很有意思的关键字,奇奇怪怪的用法见过不少,今天抽点时间出来聊聊这个东西。 inline 可以用在那些方面?修饰 inline 内链关键字到底有什么作用? OK:started 1、inline 可以用在类成员函数的声明…

Redisson 分布式锁解决主从一致性问题的原理

目录 一、主从不一致产生原因 二、Redisson 解决主从一致性的原理 一、主从不一致产生原因 1. Redis 主从集群:主从读写分离,主节点将数据同步给从节点 主节点:增删改从节点:读 2. 主从同步存在延迟,若主节点宕机…

前端开发提高效率的两大工具

一、浏览器中的开发者工具 怎么启动开发者工具? 在浏览器中按下F12或者鼠标右键点击检查 怎么利用(常用的几点)? 1、元素 点击标红的图标可以用于在页面选择元素,同时右侧会找到元素在前端代码中的位置 点击下方红…

(delphi11最新学习资料) Object Pascal 学习笔记---第3章第3节(Case语句)

Object Pascal 学习笔记,Delphi 11 编程语言的完整介绍 作者: Marco Cantu 笔记:豆豆爸 3.3 Case 语句 ​ 如果您的 if 语句变得非常复杂,并且它们基于对序数值的测试,您可以考虑将它们替换为 case 语句。case 语句包括一个用于…

Hudi学习笔记(一)

大数据发展背景 Hudi用于管理分布式文件系统上大型分析数据集存储,支持Spark和Flink整合。它能够是DFS数据集在分钟级时延内支持变更,也支持下游系统对这个数据集的增量处理。 学习目标 什么是数据湖为什么使用数据湖Hudi基本功能如何编译Hudi源码Hud…

MySQL(七)MySQL和Oracle、PostgreSQL的区别

文章目录 一、MySQL和Oracle1.1 基本差别1.2 使用区别 二、MySQL和PostgreSQL2.1 基本差别2.2 使用差别 本系列文章: MySQL(一)SQL语法、数据类型、常用函数、事务 MySQL(二)MySQL SQL练习题 MySQL(三&…

vue 解决:Module not found: Error: Can‘t resolve ‘vue-router‘ 的问题

1、问题描述: 其一、报错为: Module not found: Error: Cant resolve vue-router 中文为: 找不到模块:错误:无法解析“vue-router” 其二、问题描述为: 根据报错的中文信息可知:应该是无法…

【linux】远程桌面连接到Debian

远程桌面连接到Debian系统,可以使用以下几种工具: 1. VNC (Virtual Network Computing) VNC(Virtual Network Computing)是一种流行的远程桌面解决方案,它使用RFB(Remote Framebuffer Protocol&#xff0…

spring中循环依赖问题、Servlet 的过滤器与 Spring 拦截器区别

spring中的循环依赖问题 当A类中关联B,B类中关联A class A {B b; } class B {A a; } 正常java代码中new A时,b为null;new B时,a为null; 但是在spring中,由于对象是由spring容器管理的,当创建…

【开源】基于JAVA语言的新能源电池回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户档案模块2.2 电池品类模块2.3 回收机构模块2.4 电池订单模块2.5 客服咨询模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 E-R 图设计 四、系统展示五、核心代码5.1 增改电池类型5.2 查询电池品类5.3 查询电池回…

美易官方:波音供应大户Spirit AeroSystems股价上涨,错误安装爆裂飞机舱门事件引发关注

波音供应大户Spirit AeroSystems(SPR)的股价在美股盘前上涨了5%。据西雅图时报报道,波音公司的机械师错误地将爆裂的飞机舱门安装到其他飞机上,这可能意味着波音公司将承担飞机舱门爆裂事故的主要责任。 这一消息引发了市场对波音…

简单对象池ObjectPool

注释 在项目上经常会遇到生成很多同样的物体&#xff0c;往往会对性能造成很大的影响&#xff0c;所以可以采用以下的对象池系统来进行简单的操作 对象池系统 这个模块的主代码&#xff0c;主要用于生成对象&#xff0c;销毁对象 public class ObjectPool : Singleton<Ob…

35、WEB攻防——通用漏洞XSS跨站反射存储DOM盲打劫持

文章目录 XSS产生于前端的漏洞&#xff0c;常产生于&#xff1a; XSS分类&#xff1a; 反射型&#xff08;非持久型&#xff09; 存储型&#xff08;持久型&#xff09;&#xff0c;攻击代码被写入数据库中。常见于&#xff1a;写日志、留言、评论的地方 DOM型 DOM型XSS与…