做推广哪个食品网站好,网站名和域名,网站备案号 主体备案号,如何创业做网站一、引言 接下来#xff0c;我们就进入函数的最后一个部分#xff1a;流程函数。而流程控制函数在我们的日常开发过程是很有用的。
流程控制函数在我们 sql 语句当中#xff0c;经常用来实现条件的筛选#xff0c;从而提高语句的一个执行效率。
我们主要介绍以下4个流程控…一、引言 接下来我们就进入函数的最后一个部分流程函数。而流程控制函数在我们的日常开发过程是很有用的。
流程控制函数在我们 sql 语句当中经常用来实现条件的筛选从而提高语句的一个执行效率。
我们主要介绍以下4个流程控制函数。 注意 1、第三个和第四个基本上是一致的都是 case 函数。 2、IF(value,t,f)意思是如果 value 的值为 true 则返回 t 否则返回 f 。 3、IFNULL(value1,value2)先判断第一个参数 value1 是否为空如果不为空返回 value1 而如果为空返回 value2 。 4、CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END case when 当什么时候。 当 val1 值为 true 的时候则返回 res1 否则返回默认值 default 语法块结束后面加一个 end 。 5、CASE [ expr ] WHEN [ val1 ] THEN [ res1 ] ... ELSE [ default ] END 下面这个也是类似如果表达式 expr 的值为 val1 ,则返回 res1 否则返回默认值语法块结束用 end 。 二、操作
接下来回到工具 DataGrip 去一一操作刚刚学习的函数。 1、IF(value,t,f); 如果 value的值为 true 则返回第二个字段的值 t,否则返回 f。 正常来说这个 value 应该是一个条件表达式。 SELECT IF(true,OK,NO);
SELECT IF(false,OK,NO); 2、IFNULL(value1,value2); SELECT IFNULL(value,default);如果给的字符串是空的字符串它返回的也是空串而不是返回默认值。 SELECT IFNULL(,default); 如果为null就会返回设定的默认值。 SELECT IFNULL(null,default); 3、CASE WHEN THEN ... ELSE ENDcase 函数 emp表 初始数据 1需求查询emp表的员工姓名和工作地址如果北京/上海----一线城市其他----二线城市) SELECT name,(CASE workaddress WHEN 北京THEN 一线城市 WHEN 上海 THEN 一线城市 ELSE 二线城市 END ) AS 工作地址 FROM emp; 三、案例
根据需求完成一下SQL语句的编写。
1统计班级各个学生的成绩。展示的规则如下
1、85展示优秀。
2、 60展示及格。否则展示不及格。
完成这个案例对控制函数的操作进行学习与巩固。 1首先先创建一个成绩表。 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 * FROM score; 2接着完成题目的需求。 最终我们的表中的数据全部查询出来之后要把分数变成对应的 优秀、及格或者是不及格 去展示出来。 SELECT id,name,(CASE WHEN math85 THEN 优秀 WHEN math60 THEN 及格 ELSE 不及格 END ) AS 数学,(CASE WHEN english85 THEN 优秀 WHEN english60 THEN 及格 ELSE 不及格 END ) AS 英语,(CASE WHEN chinese85 THEN 优秀 WHEN chinese60 THEN 及格 ELSE 不及格 END ) AS 语文FROM score; 这就是这篇博客关于流程控制函数的全部内容。