00:01
来,我们把这个此查询的word版这个练习做一下,大家你最好提前你先把这个题目先都做了,然后呢,我们再一块来讲,你看你哪个写的有问题,这样有针对性的,你再再来看一看。这里一共有六个题目。我们三个三个来先看前三个。来第一个查询和这个人,这是一个人名啊,跟他相同部门的员工姓名和雇佣时间,这个比较不是太难,两层应该就能够解决了。那select um last name her from employees。Where department ID等于等于是不是应该跟这个人部门一样啊?所以等于一个小括号,我们在内层查询提供一下你这个人他是在哪个部门呢?
01:14
所以呢,就是select department ID from employees where。Lastname等于。这这也不大会念是吧,就这个人,这个人的底盘麦地,然后反馈他,他跟他一样的这个人都有哪些。这样写其实就完了,然后有同学说,哎,那你这个反馈的结果里边肯定是不是还得是含着这个这个人的呀,你要想把这个人还给他拿掉,那你就再加上一个and就完了呗,And last name是不是叫不等于啊?不等于啊。
02:03
来,我们看下结果。嗯,这就是这么多里边肯定是没有那个。刚才那个人的这是34条,你要是把这一条给它住掉,哎,刚才33条住掉,它就成了34条。对吧。行,这是我们这个题目。下一个。查询公司比公司平均工资高的员工的员工号新名的工资,还是你从内到外,或者从外到外到内都可以,工资比公司的平均工资高,你得先算出公司的平均工资是多少,然后你看看谁的工资比这公司这个数大,你把他们这个信息输出出来,对吧?那就是这样子的,我要是从内到外的话,那你就得先其拉克他是不是把公司的平均工资给算一下,这样吧。
03:11
这个算出来以后,我想查什么,查询一下谁的工资比刚才上面这个高,找他们的last name。Employee ID跟他的salary where,看看他们谁的工资是大于刚才算出来的这个值吧。工资比公司平均工资高的员工,这个比较简单。有这么多。
04:02
第三个题。查询各部门中工资比本部门平均工资高的员工的员工号、姓名和工资。这个题目啊,稍微有点难,这个题目有点难了,我们来看一下。查询各部门中工资,找工资呢?比本部门的平均工资高的员工的员工号姓名和工资,你首先是不是应该找到本部门,先别本部门的,先找到各个部门的平均工资吧,然后呢,你看看这个各个部门当中哪些员工比你这个对应的部门的平均工资高,把那些人都给输入出来。对吧,就是这个意思。比如说我们还是刚才那会儿举例一样,你有12344个部门。诶,这个部门平均工资6500,平均工资6500。
05:01
这个部门平均工资8000。嗯,分别把你对应的abcd这几个部门里边比这个平均工资高的高的七千五啊,8000啊,9000啊,把这几个人的信息输出出来,把这里边儿的哎,大于8000的这些人的信息输出来。把这些信息都给它整合出来,咱们来算。先求出各部门的平均工资,然后找比他平均工资高的,那我们要是从外到内的,就是让你查询employee ID lastname跟salary from employees,然后where,是不是说你的这个salary应该大于某一个值啊?大于某一个值,这个应该怎么去写这个值啊,不单单是一个值的问题了。啥意思啊,你看他现在是不是让你求平均工资,正常的话,我们是不是就考虑这样来写。
06:14
你这平均工资肯定是得有一个,比如说败了是吧。或者我们先先说说半,先不考虑它,你先这样来看。这个肯定算出来是平均工资,平均工资你要是一个部门的话。我用大于,那就只是一个部门,多个部门也不对,只能是找本部门的那个。是这意思吧,我只能够找本部门的平均工资,本部门的平均工资你得跟外边这个表是不是得挂一个勾啊。外边这个表里边儿呢,你这个对应的。
07:01
哪些量你得找你那个员工的。从这里边找跟他是同一个部门的那个值。说的有点晕乎,我再说一下啊,就是你外边这不是要查询这样三个信息吗?一条一条的,一个一个人的,你这每一个人都对应着有一个department ID,你只能从里边是不是去捞那个跟你在同一个部门的那个平均值去比较一下,看看比它大是这意思吧,相当于我们这个题目难在哪呢?就是外层的这个表跟内层的这个表之间它们有关系,这关系不单纯的是一个大于号的关系。需要我们再补一下,这个应该怎么写,我这样处理一下,这叫一一。From employees,我这叫一二吧,我得要求这个E1的。Department department ID得等于你这个第二个是不是department ID呀。
08:00
然后呢,得有一个。分组按照它来分,它分完以后。有这样一个条件限制,我这里边儿只捞你那个跟你满足这个条件的。这三个星期看一下。出来了对吧,那这个这个结果就是对的。请出C。这个题目是有点难度的,大家你再细细的体会一下。来,我们看后边这四个题。第四个查询和姓名中包含字母U的员工,在相同部门的员工的员工号和姓名,你看看谁的名字当中含优,含优,你看这个含优的这个名字的这个人在哪个部门,找这个部门的那些人,其他的那些人是这意思吧,好了,那就是相当于我们是要找这样一些人拉克他看看最后要查询的是employee。
09:17
ID last name from employees,然后呢,Where department ID得等于什么什么什么是吧?那这里边写什么呀?就是看含U的这个字母的这个员工,他都在哪些部门里边,那么这个ID就等于这个,但有可能不唯一,所以我们写in。写in那里边我们这个要实现的就应该找看字母含U的名字的员工都在哪些部门,对吧?Department ID from employees where just name,模糊查询字母含U用like吧,Like含U的前面一个百分号,一个U,后边有百分号,这是名字中含U的含有的这个人,他的部门是什么?可能有多个,多个的话我就判断一下in在这里边的。
10:20
我是不是就找到了。这里边大家同样的是需要你注意一下,如果你最后输出结果,这里边这个题目不没有特别明确的说明出来啊,但是正常的话,我是不是应该把你这个含有的这个人再给他过滤掉呀,那就是再加上一个and and last nameme让他。不能叫不等于吧,就是not like吧,名词中不含有的,那就是not like。这样查询里边是含着带U的,然后我再把这个含U的带U的给它过滤掉。
11:05
那么你看这个里边是一定没有含U的,有72条记录。我们看第五题。查询在部门的location ID为一千七的部门工作的员工的员工号,Location ID是存在于department表里边儿,相当于这个在这个地儿工作的有很多个部门,对吧,那么。相当于在这些部门工作的员工的员工号让你找到,那我先查询一下,我从内到外啊,查询一下这个当然从内从外到内也行,Department ID from department这个表对吧,然后呢,Where location ID等于1700吧。
12:06
这我查询呢,查询出来在1700这个地方的部门有哪些。看一下结果哇。挺多的是吧,有有21个,21个部门都在1700这个位置。都在这个位置的话,我想看一下在这些部门工作的。员工对吧,那你就是拉他。Employee employees where?Department ID既然有很多可以用in。CX。
13:00
啊。哎,有18个,18个人部门很多,但是人不多,肯定有些部门里边没有人。这是我们这道题。最后一个题我们看一下。查询管理者是king的员工的姓名和工资,看看谁的老板是叫king。谁的老板是king?这个老板是king,我得是不是查一下king的是不是employee ID啊?然后看看谁的这个manage ID是不是等于这个employeed OK,从内到外的话就是employee ID from employees where。Lastname等于我看看king,它的employd是多少?
14:03
哎,有俩人有俩人,那可能考虑又得用in,然后呢,我看看谁的manage ID等于这个100156 select lastname salary from employees where,谁的老板是你对应的刚才算出来的是不是这两个值啊?那我们把它扔进去,CTRLX。这是不是又得用in了吧?没错啊,用in。OK。嗯,这我们就计算出来了,有14个人,相当于有14个人他们的老板。视频。
15:07
行,那我们关于这个子查询就讲到这儿了。
我来说两句