MySQL函数:流程函数

news2024/9/27 5:43:11

1.IF函数

基本语法:IF(expr1,expr2,expr3)

功能:如果value为true,返回t, 否则返回f

例如:这个里面expr1里面是false,返回的是Error,如果是true,返回OK

select if(false, 'OK', 'Error');

2.IFNULL函数

基本语法:IF(value1, value2),

功能:如果value1不为空,返回value1,否则返回value2

例如:

select IFNULL('OK','Default');  
//这个里面expr1字符串是OK,不为空,返回true,否则返回Default

select IFNULL('','Default')  
//这个里面expr1字符串为空,返回值为空

select IFNULL(null,'Defualt');  
//这个里面expr1的值为null,也就是为NULL, 返回Default

3.case函数

基本语法:case when [val1] then [res1] else [default] end

功能,如果val1为true,返回res1,.....否则返回default默认值

例如:查询表的员工姓名和工作地址(北京/上海---->, 其他 -----> 二线城市)

select
	name as '姓名',
	(case workaddress when '北京'  then  '一线城市'  when  '上海'  then  '一线城市'  else  '二线城市' end) as '工作地址'
from emp;

案例:统计班级各个学员的成绩,展示的规则如下:>= 85, 展示优秀, >= 60,  展示及格,否则,展示不及格。

先创建个表结构,以这个表为例子来做案例

create table score(
	id int comment 'ID',
	name varchar(20) comment '姓名',
	math int comment '数学',
	english int comment '英语',
	chinese int comment '语文'
) comment '学员成绩表';

insert into score(id, name, math, english, chinese) VALUES (1, 'Tom', 67, 88, 95), (2, 'rose', 23, 66, 90), (3, 'Jack', 56, 98, 76);

解:

select
	id,
	name,
	(case when math >= 85 then '优秀' when math >= 60 then '及格' else '不及格' end) as '数学',
	(case when english >= 85 then '优秀' when english >= 60 then '及格' else '不及格' end) as '英语',
	(case when chinese >= 85 then '优秀' when chinese >= 60 then '及格' else '不及格' end) as '语文'
from score;

附一张黑马程序员听课截图

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

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

相关文章

开通微信视频号直播的流程

首先我们要了解什么是视频号? 视频号其实就是腾讯家的“抖音”/“快手”,可以发布视频和直播(包括直播带货)。 微信视频号不同于订阅号、服务号,它是一个全新的内容记录与创作平台,也是一个了解他人、了解…

适合二开的web组态软件

技术文档 官网网站:http://www.hcy-soft.com 体验地址:by组态[web组态插件] 可以广泛应用于化工、石化、制药、冶金、建材、市政、环保、电力等几十个行业。 一、产品简介 BY组态是完全自主研发的集实时数据展示、动态交互等一体的全功能可视化平台。帮…

OJ在线评测系统 后端基础部分开发 完善CRUD相关接口

完善相关接口 判斷编程语言是否合法 先从用户的请求拿到Language package com.dduo.dduoj.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.dduo.dduoj…

OpenHarmony(鸿蒙南向)——平台驱动开发【SDIO】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 SDIO(Secure Digital Input and Outpu…

【Faster-Rcnn】训练与测试

✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛) 🌈 个人Motto:他强任他强,清风拂山冈! 💫 欢迎来到我的学习笔记! 1.提前准备 1.1. mobaxterm(远程连接服务器) 链接&#xff1a…

达索系统SOLIDWORKS2025新版本即将来袭

达索系统SOLIDWORKS2025新版本即将来袭 北京众联亿诚是达索官方授权的SOLIDWORKS经销商,专业经销SOLIDWORKS正版软件并提供免费试用、培训认证、二次开发等增值服务。 在CAD软件领域,SOLIDWORKS作为达索系统旗下的旗舰产品,一直以其优越的三…

CTF学习路线(非常详细)零基础入门到精通,收藏这一篇就够了

**CTF概述:**CTF(夺旗赛)是一种网络安全竞赛,通过解决一系列安全问题来测试参赛者的技能和经验。对于网络安全爱好者和从业者来说,学习CTF是一个不错的选择。 下面是从零开始学习CTF的详细规划和路线: 1 基础知识 要开始学习C…

问题:机器字长为n位的二进制数可以用补码来表示()个不同的有符号定点整数。

一、概念 概念:无论原码、反码、补码,n位二进制数可以表示2^n个数值 二、从范围证明 有符号的情况下,表格如下: 其中,原码、反码含有-0、0 , 而补码不划分0 由此,可知: ① 原码…

Ubuntu 编译安装 ImageMagick 来处理图片

一:克隆 ImageMagick cd /tools git clone https://github.com/ImageMagick/ImageMagick.git cd ImageMagick 二:安装编译 ImageMagick 所需的软件包 sudo apt -y install build-essential libltdl-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev…

Unity 外描边简单实现(Shader Graph)

1:原理 将物体的模型空间的位置(也就是顶点数据)放大,作为一个单独的渲染通道单独渲染,这时候模型是已经发大过的,要想看到外描边的效果,需要将正面显示的东西给去掉,显示背面渲染的…

HTTPS证书配置

NGINX、SSl配置 修改conf目录下NGINX中的crt和key文件 单点配置SSL 需要的文件和配置信息 证书和keytool.exe(使用jdk1.8的)工具要在同一个目录下 gxszy.qhxzhny.top.pfx(证书) keystorePass.txt(密码) 使用JDK自带的keyto…

【CSS】变量的声明与使用

原生变量root 伪类 原生变量 CSS中我们可以统一设置变量方便页面维护。变量声明的时候,自定义样式变量名之前加上两根连词线 " – " 即可,使用 var() 来引用。声明的变量是有作用域的 ( 比如是在html中声明的变量,那么该变量在html…

Leecode刷题之路从今天开始

前言 众所周知,数据结构算法程序。算法对程序的重要性不言而喻。我们后端研发在写业务代码的时候很容易忽略算法,因此为了加强算法功底,从今日起,决定每日记录Leecode刷题记录,每道题都有相关的demo代码和文档&#x…

Voxel mamba :基于Mamba的3D目标检测算法解析

目录 1 算法简介1.1 前提补充空间填充曲线(Space-filling Curve)点云分组2 模块介绍2.1 希尔伯特输入层(Hilbert Input Layer)2.2 双尺度 SSM 模块(Dual-scale SSM Block)2.3 隐式窗口分区 (Implicit Window Partition)2.4 Voxel Mamba Backbone2.5 有效感受野 Effecti…

安全使用微软Azure OpenAI:使用 Azure AI Studio 实现企业安全的 5 种方法

Azure 是一个受到数百万客户信赖的创新平台,目前有超过 60,000 名客户正在使用 Azure AI,通过 AI 将他们的雄心勃勃的想法变为现实。Azure AI Studio是一个值得信赖的企业级平台,可用于大规模构建、测试、部署和管理生成式 AI 应用程序。企业…

一键启动,停止,重启nginx

1.一键启动nginx 启动的时候只能启动当前目录的nginx.exe echo off echo 正在启动nginx cmd /c "start nginx.exe" timeout /t 1 /nobreak > NUL2.一键关闭nginx 关闭的时候只能关闭当前目录的nginx.exe echo off echo 正在关闭nginx cmd /c "nginx -s quit&…

kubernetes网络(三)之bird的路由反射器的使用

一、摘要 上一篇文章中我们用 bird 程序实现了三台服务器之间的BGP full mesh。本文我们将实验把full mesh方式改为RR 路由反射器方式 ,让宿主的BIRD相互学习到对方的容器网段,从而达到容器网段能相互通信的目的。 二、bird 实验 bird简介 BIRD 实际…

awvs漏洞扫描工具使用教程

一、工具简介 AWVS(Acunetix Web Vulnerability Scanner)是一款常用的Web应用程序漏洞扫描工具,业界排名Top3,它可以自动扫描Web应用程序并发现其中可能存在的漏洞,包括SQL注入、跨站脚本、文件包含等安全漏洞。AWVS具…

Java语言程序设计基础篇_编程练习题**18.39(拖动树)

目录 题目:**18.39(拖动树) 代码示例 代码逻辑解析 类定义和变量初始化 main 方法 start 方法 drawRecursiveTree 方法 动画演示 题目:**18.39(拖动树) 修改编程练习题18.38, 将树移动到鼠标所拖动到的位置 Java语言程序设计基础篇_编程练习题…

elementUi / elementPlus自定义上传方法 Upload自定义文件上传

🚀 个人简介:某大型国企资深软件研发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…