00:01
好,那咱们再接着往下吧,25。25题是列出薪金高于在部门30工作所有员工的薪金的员工姓名和薪金部门名称。他说,列出薪金高于在部门30中工作的所有员工,那30部门最高的薪资是多少啊?Max salary from max salary from EP where,条件是第一批number等于30 30部门的最高薪金能不能找出来呀?可以吧,30部门的最高薪金能找出来,找出来是2850 2850,然后接下来他说列出薪金高于在30部门工作的所有员工,那就应该是说,呃,员工的姓名,薪金和部门名称,那行。员工的姓名e.e内对吧,那一点。Name嘛,然后de,呃的工资嘛,姓名薪金,还有部分名称是d.d name呗,From什么呀,E去join谁呀,我们的de department d on条件是我们的E的部门编号等于D的部门编号,然后呢,我们这边呢,这是表连接呗,连接条件,连接条件定了之后,外条件是什么呀?是我们的意义的工资,这个员工的工资得高于什么呀,我们这个工资。
01:33
是不是啊,列出薪金高于在部门30中工作的30部门中所有员工的最高薪资,找出来之后比这个值大的,但他要求找出部门名称,所以这里呢,我们需要表连接。员工表和部门表做表连接,连接完之后就是一张整表一张整表,说亿的工资要大于这个值的啊。好,这个呢是二十五二十六。26是列出在每个部门工作的员工数量、平均平均工资和平均服务期限。
02:08
例如在每个部门工作的员工数量。那也就是说没有部门没有员工的部门,部门人数是零呗,对吧,列出每个部门工作的员工数量。那应该是select,从E,呃,From什么呀?Em PE这张表去join,我们department d这张表on,条件是我们的E的部分编号等于我们D的部分编号,然后接下来在这加上去一个right,那这样的话右外连接就相当于是说把右边部分全部找出来了。对吧,哎,那么这边呢,我们就找一点星,然后D点什么呀,星好,我们看看这个语句的执行结果是啥。右外连接。找出来是14个员工,外加一个那。
03:03
对吧,这个部门是不是都都找出来了。部门吗?对吧,他要找什么。找的是我们每个每个部门工作的员工数量是不是。员工数量能不能对这个字段进行count呀?对这个字段进行抗的基数行不行?按什么分组?按照这个分组行不行?或者按部门名字分组行不行?或者按照这三个字段分组行不行?是不是都可以呀,按照三个字段分组来怎么分呗。Group by按照地点星进行分组,按地点星分组,你这就可以写地点星。D点星你就可以写上。啊,按照这个分组之后呢,计数呗,Count内。按照以内基数。
04:01
按照1.1内吗。就是你按照这个地方分组,这不是一组吗。这是一组吗?对吧,这个30是不是一组,40是不是一组分组对这个字段进行计数的话,它这是不是就是零,因为看函数自动忽略空啊,所以这是不是零。所以大家看,恰好我们执行的这条语句。拿过来。每个部门。Girl。写上吧。写上啊,不能省的就写上D的部分编号啊,然后d.d name啊,d.location啊,按照三个字段分组。行不行?那过来。是不是每个部门的信息以及每个部门的人数都有了?他要列出每个部门工作的员工数量,员工数量不有356嘛,3560嘛,35655加六十一十一加34嘛。
05:06
平均工资。那你平均工资的话,那你就按照刚才这个平均工资来算就行了,按照这个呗,对这个数呗,求求求平均值呗。是不是,哎,平均工资,平均工资的话,那你就average。Average eat salary。啊,来,拿过来。执行。这是不是平均工资啊?还有一个平均服务期限,这个位置为什么适当啊?哦。可以呀。没问题。没问题,没问题,没问题都行。
06:01
都行,去掉也行。啊。去掉也行,去掉的话你这只能写部分编号了,d.depp number都可以没问题来。你过来。放到那儿。没问题啊,就这个结果,怎么避免这个啊,可以加一个。嗯,伊娜。如果这个为零,这个为空,当做零呗。你再拿过来。是吧,还有一个平均服务期限怎么办啊各位。
07:11
平均服务期限怎么办?平均服务期限应该是服务期限的平均值吧。是不是也是啊。这个语句是不是也应该是average平均值啊?Average平均值。服务期限吗?嗯,怎么了?40部门没有没有没有没有没有人啊,40部门没有人啊。这不40部门没有人吗?他没有员工啊,所以他平均工资就是零啊。没毛病。
08:03
平均服务期限,就是服务期限的平均值嘛。你服务器现在怎么拿的。应该是系统当前年份,当前年份吧,啊,然后减去什么呀,减去他的入职年份。就是计算两个日期之间的年年差是不是?哎,计算就是在买circle当中怎么计算,买circleq当中怎么计算两个日期的年。怎么计算两个日期的年差就差了多少年,差了多少年?
09:06
这个有固定的函数,各位啊,这个函数我们来找一找啊。这个固定的函数。就卡在这了是吧。Data diff。来找找咱们百度一下啊,看百度的能力。买circle中计算两个日期差。之间的年数。有啊。是不是啊?你看这有。对吧,My circle中啊,Time step diff这个使用的语法。是time stamp Di间隔类型,然后前一个日期后一个日期间隔类型可以写什么呀?
10:02
年能不能写可以?是不是你看可以写啊。是不是有这么一个函数,你看。对不对啊,有这么一个函数,各位啊。这个函数叫time stamp diff。有三个参数。这三个参数,第一个参数是什么呀?是间隔的类型。后边是什么呀,前一个日期。后一个日期。嗯。那现在我们来测试一下。嗯。这个叫time stamp。呃,差多少年吧。然后是。嗯。
11:01
吧。Now,行不行?From什么呀?大家看这个有意思吧?这个year是什么意思,表示差的年份啊,39年,39年,他这是哪年入的职。看看。史密斯是哪年入的职?是1980年80年12月17号,到现在多长时间了,2020年40年了呀,哦,还没到12暂,所以应该是,呃,他这得的结果是多少点,是39啊有有可以啊可以没问题啊没问题,你看这个函数。这叫STEM。是吧,哎,这样去用就行了。这个间隔类型可以是什么呢?用来指定啊,是年呀月呀,日啊,还是时啊分啊,秒啥的是不是?哎,你看这是秒吧。
12:01
分钟。是不是年月拿过来不测了啊,你愿意测的话测一下这是分钟,这是小时,这是天,这是星期对吧?哎,这个是月啊,然后这是季度,你看哎,这是年,就是你这块跟的这个参数可以是这几个值里边的其中一个。然后这是前一个日期,这是后一个日期。对吧,这样的话,他就可以算出来这个这个这个服务期限了啊服务期限了,系统在线时间那行了,这块的话呢,服务期限的平均值啊,你把这个拿过来就行了。放那儿呗。对吧,平均服务期限。系统当前时间啊,算出一个值来,我们看看。粘贴过来执行。嗯。嗯,这的话做一个空处理啊,因为这个是零嘛。对,因为这个里面没有员工啊。
13:02
对不对,If now。给它括起来啊。呃,逗号0AS average year。平均service service time啊,平均的一个service time,然后这个是as average salary。然后呢,这个是。行吧,都起个别名好看点行不行?起个别名好看点啊,来,走一个。那这样就行了啊。每个部门他的部门人数啊,他的平均薪资啊,包括他的这个平均的服务期限对吧,38年,35年,38年对吧,这是零。减法也行啊,你愿意用减法也可以,但是有专业的,你最好用专业的啊,因为减法这个东西不一定准。
我来说两句