00:00
来我们再看一下第二个,第二个函数呢,我们称为叫做case函数,这是这样的case呢,虽然它叫函数,实际上就是一种控制结构啊,我们可以把它称为函数,也可以不成为,那么它可以充当两个作用,那么我们先去说case函数的使用一,这个使用一呀,它类似于我们前面Java中学的谁呢?Switch case的效果啊,类似于它,好吧,那我们直接去,呃,这样我们先把那个Switch case的那个语法跟跟那个回顾一下,我估计有的同学已然忘了哈,比方说我叫某一个小朋友来去说一下王世玉,就是边可以放那个常用的,那你是开始往往往下砍了是吧达开启聊天模式。
01:00
这怎么写,然后这样,然后要执行的语句一好,这个可以有多个,最后呢,哎,对了,这个是不是相当于默默认的情况呀,嗯,好,请坐对的吧,那Java中的话,咱们是这么写的哈啊那么我们看一下这个my circle中,My circle中啊,那么我们的语法呢,跟它很像,呃,但是呢,它没有Switch了,它使用的是case,后面也是要加上要判断的的变量或者表达式,当然也可能是字段,对不对,我们还没学变量了,那你这就可以当成是不是字段呀啊或者表达式,好然后那这个地方呢,它也没有大括号,也没有大括号直接呢下面。
02:00
就去写这个里边呢,也你看这个case,人家的case,呃不是人家呢,这一块是用Switch,这一块用用case,而我们是不是把case代替了这个Switch啊,所以你下面不能再用K了,你用的是谁呢?When,哎,然后后面再去加,是不是有可能的这个常量值啊啊常量一啊,然后在这个后面加个Z,它也不是用冒号,也就是人家的这个冒号我们代替成了谁啊Z啊,后面呢,你再去加啊,再去加谁呢?要显示的值一啊,或者是语句一啊,或者语句一,如果是语句,那你就加上分号,如果不是语句,只是一个值,那就不用加分号了啊它这样的,同样这个可以有多个啊好,然后这就是常量二,这是二,这是二,好,最后呢,省略,那么它实际上也有一个默认的情况,但是它用的是谁呀,Else else。
03:00
代表示默认的情况要显示的值,比方说N或者说语句,嗯,啊,那么最后你的case结尾我们使用的是谁呀?End end语句啊,好,那么这是整个的MYSO中case的,我们如果说类似于Switch case的效果,它的语法是这么写的,来吧,我们去通过一个案例呢,是啊,呃,假如说我们这个案例呢,是要去查询我们是不是对应的有部门啊,查询员工的工资,那么要求是这样的啊,要求是这样,那我这样去写啊,因为这个要求比较长啊,如果说我们的部门号等于30,我们显示的工资呢,为多少呢?1.1倍能看明白哈,那如果说部门号等于40,我们显示的工资为原工资的1.2倍,好,以此类推,如果部门号等于50,我们示的工资为一点。
04:00
三倍,呃,那么其他的部门我们显示的工资为,哎,原工资微员工资能看明白吧?啊,那么很显然我这个东西它是不是要搭配着我的查询来用啊,要搭配着查询来用,那那意思是说我这个呢,要放在select的后面对不对?放在select的后面呢,它就相当于作为一个表达式来用了,那你要是作为表达式的话呢,这个地方就不能放语句了,只能放谁啊这种情况了,那么将来呢,我们会用那个存储过程或者函数啊,那存储过程里边我们就可以单蹦的把case就当成语句来用了,也就是它不搭配select也可以直接用,你要不搭配select直接用,那这个地方就放谁啊语句我这样说能明白吧,也就是本身呀,这个case既可以搭配着select的充当表达式啊,也可以自己单蹦的当一条语句。
05:00
啊,那目前我介绍的是当表达式还是当单独的语句呢?表达式说明白了吧,你要当表达式,这就是显示的值啊好,那么我们试一下怎么写呢?Select要查询的有呃,什么来着啊,这个案例哈,公司那就是salary,这样我们把那个底盘的美ID是不是也查一下呀?啊,然后呢,这个逗号后面是不是就要放要显示的这个呀,要显示的这个对不对,这个是在这个salary代表的是不是原始工资啊哎,咱比较一下嘛,然后呢,我们再来一个新工资,哎,那这个就用上了case case后面判断的是谁,是不是第八个ID呀,哎,这样去写跟上哈,那这就是when,它的值有可能是33,我们salary乘以1.1,你看这这个地方是不是就是一个值啊,它不是单独的语句吧,就是一个值,那既然是。
06:00
值,我这就不用放分号了,明白吧,就不用放分,你一放分号是不是他认为这个结束了,哎,就不能放了,这样说能理解对吧?好,那再往下问,40在salary乘以1.2,在问还有多少50S salary乘以1.3else就没S了啊,直接salary乘以啊,没有乘以是不是好,这个结尾是不是就N的呀?哎,这一大堆比较臃肿,其实它就相当于一个表达式,能听懂吧啊或者是相当于一个函数,我们是不是最好起个别名呀,As一下叫做新工资可以吧,然后再from我们的employees,好吧,我们看一下效果,然后执行看哈,如果说90的话,是不是就是原本的工资啊,如果说是30的话,是1.1倍,是1.1倍吧啊好。
07:00
如果说是50的话,是1.3倍啊,你乘一下哈,我就不乘了啊,对吧?啊,那这个就完事了哈,行,这是关于我们case函数的第一种情况,接下来我们来看一下case函数的第二种情况,Case,哎,跟这个要对应着来,Case函数的使用二,使用二,那么这个呢,就类似于我们Java中学的多重衣有点类似啊,但不完全一样啊好,首先呢,我们也是把多重衣服的语法是不是回顾一下呀?好,我们看一下,那在Java中多重衣服是这么写的,衣服小括号吧,是把条件放这儿啊,哎,如果满足这个条件,我们要执行的是不是就是语句啊,嗯,分号对吧?嗯,然后else if啊,我把这个粘过来哈,看上面了。
08:00
好,是不是这个改成条件二语句二,然后这个是不是可以有挪个呀,最后默认的情况是else语句,哎,对吧?哎,这是我们Java中哈,那my circle中是怎么写的嘞?My circle中,那么它使用的是kiss啊,那它是kiss后面我们去加的,你看这个就没有加要看到的东西了,直接kiss后面再加when,注意啊哈,这个跟这个不一样了,瞪大眼睛看清楚刚才是不是K,后面直接加一个要看懂的东西啊啊,这个不是了,K字后面什么都没有,直接就是问,然后再去加有可能的,注意这也不是直了,而是条件,既然是条件,那这个条件的结果是不是就是true或者false啊啊,如果满足条件一,它将执行S,是不是就是要显示的值一啊啊,要显示的值一。
09:00
当然我说了,那么如果是值,这不用加分哈,那后期的话,咱们会单独把它当成K单单独当成单独的这个单分的语句啊,那这就有可能是语句,语句的话,那你这的话就得加根号了,对吧,我们现在用的是是不是相当于这种情况呀,哎,这个要注意啊,好,我我为了这个知识点的完整,我先给你这么去写啊,然后再看问,然后是条件二在要显示的值二,或者说语句写了点点,那么最后剩余的情况,它依然用的是谁?Else,然后这个代表要显示的要显示的值N啊,或者说语句N,那么结尾的话,它用的是谁?End end,完事好注意啊哈,咱们这种情况的话,和我们上面情况的对比,从语法上就。
10:00
一点不同,对,一个是case后面加东西,一个是没加,对吧?啊,原因在于我们这个case,这种case它不是类似于Switch吗?Switch大家还记得吧,当时扎洲说过,它比较适合于去处理,什么判断呢?等值,等值判断是这样说的吧?啊,是不是啊,意思是说判断这个东西是不是等于,它等于剩下的对不对,那你看我这个是不是也是,它是不是等于这个,是不是等于这个对不对,所以它就省略这个等于了,是不是这样去写呀,而我们的多重衣服,它判断的是区间。也就是是一个大于小于的判断,那大于小于的判断的话,你知道不可能就把这个条件写好了,对不对,所以你只能是每个条件是不是单独的写呀,它是这样的一个意思哈,好吧,那么我们也是通过一个案例来去说一下吧,案例假如说我想去查询出同样也是员工的新工资,那么要求呢?我们是这样子的,呃,如果说我们的工资啊,不是新工资啊,是工资情况吧,如果工资大于2万,那我们想去显示A级别,如果说我们工资大于1万,15000,我们想显示B级别,能跟上吧,那如果说我们工资大于1万,我们想显示C级别,好,否则显示D级别,对吧。
11:45
啊,那你看这一次我们的判断条件是个等于吗?不是这种叫区间判断,所以呢,它就可以用我们这种情况了。好,咱们做一下怎么写select,你是不是应该先把原本的公司给查一下呀,Salary逗号,然后这呢,我们再去加那个case哈,怎么写后面有没有东西没有,好为salary大于S,要显示的是AB,好,再问salary大于一万五我们对吧?问salary大于1万我们SC,好,最后呢是else,直接就D结尾了吧。end,我们起上一个别名,比较洋气一点的工资级别对吧?好,From。
12:45
啊,我们的employees行了,那么现在我们再去看看能不能出来哈,出来了吧,这不就行了吗?啊,这是salary,这是工资级别,对不对,这个对不对,对了吧?啊这是关于他哈结构啊,什么什么结构完整。
我来说两句