00:01
那关于运算符呢,这一章节咱们就说到这儿,接下来呢,咱们看一看这一章节的课后练习题啊,这个章节练习打开,咱们找一下这个运算符好打开。行,那这一章的话呢,咱们一共有九个题目来,我们把这块呢,CTRLC一下粘过来,大家呢,诶这个你看一下我这个视频,嗯,讲完之后呢,你再练也行,或者的话呢,你又觉得呢,自己这个差不多你可以呢,就是把这个视频停掉啊,自己呢,就开始先独立的做一下,做不出来的你再看我讲一讲是吧,也可以。好,那我们在这个,诶CTRLS以下,在咱们这个词QL药物当中啊,我再去开一个新的这个编辑器啊。哎,把这个题目呢,咱们粘过来,然后呢,这是咱们的第四章的课后练习。哎,课后练习好,然后呢,我把这个呢选中啊,CTRLCCTRLS。的课后练习加个的吧。保存一下。没问题是吧?好,来我们看一下这九道问题啊。
01:03
嗯,这几道问题呢,其实就使用了我们上面提到的,就是前面讲到过的这些运算符啊,整体难度呢,其实不大啊,就真正的咱们在这个开发中使用咱们这个运算符的话呢,其实难度呢都不算太大,嗯,只不过咱们在讲这个运算符的时候呢,涉及到那个no的时候呢,稍微的有点恶心是吧?哎,大家特别的,你要是记不清楚了,你就现拿一个数测试一下就可以,这是一个小技巧。行来我们先看第一个问题,说工资不在5000到一万二的员工的姓名和工资啊,不在,那你先考虑一下在,然后再找这个不在是不是有个这个note的一个操作,对吧?是可以的,行,那我们就可以写like,比如说姓名last name,还有他们的salary。From employees是吧,Where?嗯,这块呢,写法呢就可以多种多样了,嗯,一方面呢,比如说我们要是用这个比推案的话。啊5000啊and啊一万二是不是这个这个呢,是在5000到一万二的啊,一共呢,是有52个数据。
02:03
那不在的话呢,是不是就not be这样的呀?对吧,来我们选中执行一下那55条数据,就是这时候呢,咱们结果集当中,注意是不是不包括5000和一万二啊。对吧,啊,因为比推案的时候包括边界呢,我们note是就不包括边界了,对吧,这是一个场景,那或者的话呢,大家还可以呢,就是用比较传统的我们就是诶那你不在5000~12000,那你给它转化一下,那就要么呢,是不是小于5000是吧?或这一定要注意是货啊,这个三六量是不是大于这个一万二啊。12000多个零,这是55条数据来把这个选中之后呢,一直行也一样的55条数据这块一定要注意是个or,然后呢,再者就是哦,或者是and,它前后呢,这个语句呢,都是完整的,千万不能是这么着,你说我all大于12000。那跟谁傲啊对吧,哎,就是咱们前后呢,这个都得是完整的,怎么叫完整的,就是你把这个跟这个交换顺序以后呢,它是哎,同样的是满足这个题意的,你要是一交换,你要是没有三轮,一上来就where大于12000,那那啥谁大于一万二啊,懵了是吧。
03:09
好这个意思,那接着我们来看这个第二个说选择在20或52部门工作的员工的,呃,信息啊,这个简单啊,Select,那我们是叫lastname。Department ID from employees。这个,然后where在20或50,那就是它的department ID,咱们用in吧,是不是就20逗号五十一下就搞定了。在选中执行啊,一共呢是47点记录,那或者你要不用这印的,那用传统的,传统的其实不如我们这个用印好啊嗯,Department这个ID,那就是等于20或者是吧。啊,等于50倍,哎,这样写感觉有点臃肿啊,47行数据,哎,走一下。哎,还是47好,没问题啊,下一个说呢,选择公司中没有管理者的员工姓名和招白D,因为每个员工啊,他就都有一个叫manage ID。
04:07
都有一个manage ID,然后我们看谁的这个,呃,没有管理者,那就manage ID呢,是不是空的呀,才这个意思好。Select last nameme job ID,诶,From inlos是吧?呃,Where什么呀,叫managed,没有管理者,没有管理者,那就是is no吧。对吧,哎,这就是is not,来走一下。啊,Is now。诶,那这时候呢,我们说,哎只有这个哥们呢,他的,哎他是没有管理者的啊,你要说不保险,那你在这看一下,诶manage ID啊把这个加上,哎在意执行。是不是就是个闹啊?没问题是吧,哎就这样好,这个呢,就是is no的,哎,那这个位置呢,哎,我这样啊CTRLC一下,大家看你这块呢,还可以怎么去处理啊。
05:00
哎,大家看,哎我们这呢叫is no啊,就是它是一个空的,哎,我们能不能把它改成是一个等号呢。小号靠谱吗?哎,其实呢,如果大家那个呃上我们在讲这一章的时候呢,如果大家比较清楚的话呢,这个等号不太靠谱是吧,你看就没有了,因为呢,这个结果不管你这个manage ID呃是不是这个这个呃非闹的或者你是闹的,哎它这个结果呢,是不是它全都是一个no啊no的不等于于我们只有是一的时候才会要对吧,所以这个呢就出不来了,那怎么着就对了呢?诶。这加上一个这个符号,它呢是能够来判断咱们是no的,对吧,好这时候走一下,哎是不是就出来了,哎所以说哎,这两个呢,哎都是对的啊,这两个都是对的,好来看下边这个。说选择公司中有奖金的员工的这个信息。哎,有奖金的啊,查询什么呀,哎,Lastname这个salary。工资,然后来一个commission这个奖金级别,就是那个奖金率啊commission PPT,然后from employees,然后where什么呀,有奖金的,那就是这个commission PPT呢,是不是它是is not not呀。
06:11
对,就是一直闹闹是吧,就是这样一个情况。那一共呢,是35条记录这些数据呢,这个commission PPT呢就不是空的。啊,不是空的,那或者的话呢,大家是不是也可以,哎就像我们刚才说的那个思路一样,哎,这个位置呢,如果说我们要是改成它的话呢,这就是空的,然后前面我们再整一个not,那是不是就靠谱了呀,35条记录这块呢,也执行一下,哎,一样的35条记录啊,是可以的啊。好,来看下一个。说呢,选择员工姓名的第三个字母是A的,哎,咱们那会儿讲课时候是不是做过这个题。Select,这个我们叫lastname from。那employees是吧?Where这个lastname,哎,是不是用like呀?Like是吧,好,这个第三个字符是A的啊,一个两个啊三个啊,这个字符是A的。
07:04
是不是这样子?没问题是吧,好,我们选择执行一下啊,第三个字符是A的啊,第一种这个情况呢,也是包含的,对吧,也是包含的。好,这是我们说它,然后下边呢,选择姓名当中有字符A和K的员工姓名,那咱们讲课的时候呢,是A合意的啊,跟这个呢,呃,这个基本上是一样的啊。哎,这个做法呢,也都一样,From。Employees是吧?还where一下last name like是吧?这个呢,咱们当时讲了两种方式,一种呢就是诶,你看我这样写,这是kid。嗯,这是其中一种all是吧,或者呢,是咱们这个lastname呢里边这个。K呢,是不是在前边啊。这样是吧,哎,有A有K啊,这个A在前面的,或者是K在前面的中间是一种all的关系啊,这个我就直接在这个位置来写吧,或者的话呢,就是我们这样。Where lastname like啊,里边包含A。
08:04
哎,里边包含A啊,并且。但我们这个lastname呢,里边包含K。Like,是不是加上这个?K是吧,来这呢也是一种写法,来把这两个我们都跑一下,先看这个结果呢,是由。嗯,这段六行数据,好,我们把这个呢,给它注释一下,把这个打开。把这个呢选中。执行,那是不是也是六行没问题,好的啊好的行,那这是都可以的,然后下边这个显示出表当中first name是以E结尾的,那员工信息啊,还是练我们这个模糊查询的。啊,Select员工信息,比如我们就是啊firstname啊,咱们写上吧,比如说a first。那name再来一个,比如说last name,我们就看这两个字段吧,From employees说where,这个first name。他呢,呃,Like。
09:00
啊说呢是以E结尾的,那就是前面呢,有可能会包含不确定多个字符啊,E结尾的选中执行。九行数据,那你就看这个firstname这个字段就行是吧,那一结尾的。行,诶,这个回忆一下,咱们是不是还讲了那个正则表达式的写法是吧,虽然说咱们没有讲的那么丰富啊,哎,没有完全的把正则表达式给大家讲了,你要讲的话呢,又是一门呃,专门的一门课啊,虽然说那门课的时间不太长,诶就不去讲了啊,这个呢,诶,我们用regular expression啊简写的这个关键字,那后边呢,那我们现在是样,呃,希望它以E结尾的是吧,那大家你记得我结尾的话呢,是不是往水里边扔了一个。呃,美元的一个硬币,那这个所以说是Dollar符来表示,是底结尾的意思。哎,我讲课的时候呢,是不是有个小的记录的技巧,尖儿的话呢,是不是来表示头啊,小河才露尖尖角是吧?OK,行,那以翼量结尾的来,刚才呢,这有九条记录,那这个我们跑一下。
10:02
这个排线的话呢,啊,以E结尾的啊E结尾的,嗯,我们得这样写是吧。哎,走一下好,这呢是不是九行数据就出来了,OK,行,这个呢,是咱们说的这个以谁结尾,嗯,你要是以谁开头的话呢,嗯,记得跟他是正好是相反的啊,以谁开头呢,是先写这个尖,然后再写这个。啊,再写这个。啊,这就是以E开头的是吧?来举个例子,你比如把这个就它俩正好反过来啊,你看我们这么着,我CTRLV一下啊,这个选中跑一下啊这呢,你看以E开头的。啊,这个注意一下。这个我把它注释一下啊,这个呢,我们是呃以呃一哎开头的啊,这个写法是吧。嗯,这样啊。好,然后下边这个显示出这个表当中部门编号在100到哎,80~100之间的,哎,姓名和工种,那那我们可以select,哎,叫last name啊,工种叫赵白地是吧,哎,From employees。
11:04
哎,Where什么呀,这个编号在180~100之间,咱们可以用这个是不是比呀。Department ID。哎,Between啊80,然后and,哎这个100是吧。诶,这个80~100之间好选中执行,那一共呢是43条记录。那有同学可能会想说,诶,那我这个是不是还可以这样去写呢。嗯,我在,哎,直接这样吧,Department I did in。八十九十一百,哎,这个可以吗。89是100是吧,这呢有43条记录啊,这个选中一执行啊,也是43条是吧?哎,这两个呢都可以。都可以。诶,我这块我说个小细节啊。啊,这个大家可能听的已经挺惯性了啊,我讲小细节,我说一下这俩呢,在咱们这个问题当中是一样的,但是在有一些场景下呢,它俩还是有区别的。
12:06
大家能诶知道我想说的这个区别是什么吗?注意这个区别我指的呃,当然也包括语法上的区别啊,然后这个语法上的区别呢,也导致我们实际在操作的时候呢,这两个有可能查出来的数呢,就是不一样的。想想什么场景?啊,把思路打开。就是相当于大家在这个写circleq的时候呢,还是要小心一点的啊,还是要小心点的,这里边包括什么呀,就是我们这个circleq呢,大家呢,去执行的时候呢,如果没出结果啊,写了一个叫错误,那肯定是circle写错了。对吧,哎,这是一个,但是有的时候呢,我们这个SQ写完之后一执行还出结果了,出了结果也不一定对。啊,你要注意出来结果呢,也不一定对,就是你得看跟你实际的需求啊,你看是不是刻画的是一致的啊注意好,你看我们这个题目,我说的是编号在哎80~100之间的,那其实呢,我们用这个方式。
13:05
啊,我这块再写一下啊,这个我们叫方式一吧,这个是一个推荐的方式,那这个方式啊,就明确刻画的就是80~100之间的。啊,100之间的,当然了,大家你也可以把它写成是这个啊,它俩其实是一样的department ID是不是就大于等于80AND是吧,哎,Depart。啊,ID是不是小于等于100是吧,这哥俩呢,其实是一样的。我把这个也加一个叫方式二吧。哎,这个呢,也也也可以叫推荐是吧,这俩本质是一样啊。与这个哎方式一呢,哎就是基本上是一个意思啊好,那么我们这个三的话呢,其实就不太一样了。哎,方式三呢,我们说哎,仅适用于啊,哎,这个本题的一个。啊,一个一个方式啊,因为什么呀,你看咱们这里边八十九十一百,如果你要清楚的话呢,咱知道这个部门表里边啊,比如说这个呃,Select。
14:09
哎,这个星,哎,From一下。Departments是吧,我们看一下这个部门表打开啊,发现呢,他这个部门ID呢,是不是就是呃,十个一位,十个一进,十个一进都是这种整数的,我们找哎80~100之间的呢,哎确实呢,是不是只有这三个部门啊,但是万一要是有一个85号部门,咱们这个写法呢,是不是就错了呀。是吧,就错了,哎,所以这里边儿我想强调的就是这个点。啊,这个点啊,有同学想说,那我们知道这个是八十九十一百了,那我就这样写不就完了,但是呢,注意不排除后边呢,万一要是差一个部门,这个部门呢,给你改成85,那怎么办呢?那到时候呢,是不是导致这个和这个他们两个查询的效果就不一样了,是吧?所以呢,严谨起见呢,我们建议呢,大家用这个方式一或者是二嘛。哎,这个是吧,哎,通过这个呢,哎,我给大家把这个问题呢说清楚了。
15:05
好,那然后的话呢,我们再来看这个,哎,最后一个问题,最后一个问题说显示出表的manager ID是123的员工信息。看一下啊,这个select。啊,员工的,哎,我们要查的你就先把后边要查的信息呢,先列出来啊salary。哎,然后呢,叫a manager ID是吧?哎,From employees,然后where什么呀,说manager ID,哎是哎,那不就是in吗?100101110A。Managed是不是是这三个的这个员工信息是吧,来选中啊执行一下。啊,这里边儿列出来了19条记录啊,这些员工他的管理者。啊,就是这三个中的一个。哎,咱们这个印呢,刻画的就是或的一种关系是吧?哎,就是取并集的意思。
16:01
好,那这样的话呢,咱们把这个哎课后题目呢,就都给大家讲解了啊,然后对应的这个答案呢,你也可以看我们这个呃,练习题也行啊,或者你看我们这个写好的这个代码呢,也是可以的,哎大家下来的话呢,就是要多写一写啊,这个SQ呢,我们讲了算是两个章节了,这个大家呢,应该目前感觉呢,难度不是太大是吧?哎,不是太大,这个呃,多去写一写啊,我们下边呢再讲涉及到啊这个排序分页相对比较简单,涉及到这个多表查询,呃这块呢就有难度了啊,在开发当中,多表查询的用的比例是非常之高的。啊,我们总不至于说把数据都放到一张表吧,是吧?诶这个比例很高,然后这个函数这一块呢,诶这块呃东西呢也也就上来了,因为函数呢也比较多一些,呃然后在下边这个子查询呢,这个难度呢,算是达到一个顶峰是吧?呃,顶峰完了以后呢,直接我们就开始讲其他的这些,呃,这个DDL啊,呃这个DML的增删改啊是吧,这样一些操作。好,那么大家呢,诶先把前面我们讲的这两节这个底子呢得打好,诶把这个课后练习题,还有我们上课讲的这些,诶练习的这个内容啊,诶自己呢,一定要多写一写啊,So后的话呢,整个诶这个感觉应该是不是太难,但是呢,你必须得多去练一练啊,你要不练的话呢,转头呢这块就可能会遗忘是吧?诶这是它的一个特点啊,理解上的话呢,难度不大。
17:21
行,那我们呢,就关于这一节呢,就先说到这儿。
我来说两句