00:00
那我们接下来看一下这个,就刚才呢,我们已经把这个所谓的内链接,就是两个人公有部分对吧,两个人都存在的部分,以及左边所有的,右边所有的,还有两张表,所有的都搞定了,那接下来我们看他看那个。那这个呢,就是从我们数据上来说,我只要左边特有的对吧,我只要左边所特有的,那这个点呢,其实也就是说它就相当于是A表跟B表做差积。对不对,如果说这是两个集合,是不是相当于是一个差级的一个结果啊,A去减掉B。对吧,那也就是说在have当中或者搜当中啊,它的差集呢,其实有两种写法。
01:04
其实有两种写法,那你看啊,嗯,你就看这两个有什么关系。去掉是不是说下面这个,是不是上面这个去掉公共部分。对吧,那也就是说我们要把A独有部分跟两个人的公用部分呢,我们要用一个条件给它区分开。对吧,那正常的做状语的时候,我们来看啊,还是先从这个角度来看这个呢,我们所写的circle,我们来一下啊呃,独有的对吧,查询。所有的部门当中应该是这个吧,Le它对吧,我们把这个呢,先跑一下,你看一下这个数据特点,然后呢,根据这个circle,我们来稍微的加一点东西就好了啊,它可没有直接一个叫什么a join就得到这个结果啊,没有它要在我们之前所学的那join level draw draw for join上去加工你得到的啊,那我们先看一下level draw,因为这个数据,这个数据你总不会想着从这去拿吧。
02:15
因为如果转移出来这左边的没有对吧,肯定不会想到从这去拿,那你想呢,要不然从这个地方去拿,要不然从这个地方拿。对吧,那明显呢,是不是从这个角度去拿更方便一点,因为那这样的话,本身把B独有的部分这个就已经干掉了,对吧?如果从它这个地方去拿,我们不光要干掉公有部分,还要干掉B特有部分吧,啊当然也能得得到,那你肯定不会这样做,因为他肯定会麻烦一点,要多减一点东西,对吧,那你看啊,现在呢,我们要的数据在这,这是总的这个数据在这,那我们要的数据有什么特点。
03:00
我要的数据。是不是只要最后一条啊,因为前面这个东西你看啊,那这是一表的数据,这是D表的数据,既然你这个所有的数据,这14条数据大家所有字段都有,所以说这14条数据就是大家的公用公共部分对不对,这没问题吧,那也就说其实我们对于这个图来说,要的是不是就是最后这一条数据啊,那你看最后一条数据有什么特点啊,是不是右边为none呢?对吧,右边不存在这个数据嘛,因为我要左边独有的,那换句话说,是不是就是右边为nu的数据。对吧,独有的嘛,右边文档的,所以在刚才的这个基础上,我只需要最后再加一个什么过滤条件,对吧,这个写出来啊,就是说我们查询员工信息以及部门信息,对吧,也也不能要部门信息了,查询员工信息,这个员工信息有什么特点呢。
04:10
所在的部门信息为,那对吧,也就是说我要的这个员工啊,他是所属一个部门,但是这个部门呢,在部分表里边没有,是不是要这样的数据啊,从这个需求上翻译过来应该这样对吧,对吧?所以就把我们刚才的这个语句拿过来,在最后再加一个什么状语,完好以后我们加一个D表的什么DEP number,或者说用d name都可以,对吧思那。让它被闹就好了,对吧,那我们只取这么多,就最后呢,我们做一个过滤啊,就相当于把这个地方给它干什么,减掉了啊减掉了,因为公共部分右边的这个表它是不为弄的对吧?好,那我们把这个走一下啊,就装引好之后呢,我们去做一个过滤啊,照应好之后呢,我们去做一个过滤。
05:21
好,大家看一下是不是就只有我们刚才所聊的最后那一条数据了呀,啊,因为他在转移的时候,右边呢,是不存在50号后门的,所以在照应过程当中,我左边拿着50。右边找不到50,所以右边的DBD自动补了什么补了,那所以我们过滤出来,哎,你没none的就好了啊,过滤出来你没呢就好了啊,是这样的一个情况对吧?这是我们所说的这个叫左连接,取左边特有的这部分是在之前左外连接的基础上呢,我们就干什么加了一个条件好,那这一块呢,其实还有另外一种写法,就刚才我们说的,这其实是在如果说看做一个集合的话,实际上呢,它是一个差积。
06:11
是吧,那在搜索当中差级呢,可以用left join这种方式,然后就是a left join b will be,点什么东西,Is now,这个是做差集的一种方式,还有一种方式,你看啊,其实对于我们整个数据集来说,我们是不是要去掉B的,就是去掉这公用部分对吧?那我能不能去掉B整体呀,可以,因为B独有部分,反正我也没有吗?我减你跟没减是不是一样的效果,因为我本身就没有四兆部门,我再去剪一个四料部门,是不是跟没减是一样的,对吧?那也就是说在四个当中差距有两种写法,这是用照样方式去写的,对吧?还有一个减法想一想。
07:03
我要去掉什么数据,还可以怎么写?我不要这个数据,昨天我们讲到的。叫什么not in对不对啊叫not in啊叫not in,所以呢,这个circle口我们还可以这样写,我们先把select对吧,先写上from哪张表呢,Emp这张表,Emp这张表,然后说这叫E表对吧,叫E表,然后为什么东西一点这个第1PD number not in not in这个地方呢,我们你能固定写死说十号,20号,30号,这个不对吧,对吧,我其实相当于是我们要把十,20 30以及40给它去掉,是不是这样写对吧,但是因为我们已经看了那个数据,知道是十。
08:12
20 30 40,但是对于表来说,你能搞清楚吗?这拿两张表,两张表做减法的时候你不知道,所以这一块呢,你能这样写吗?不能,这块我们应该写一个什么,写一个子查询在这对吧,写个字而已,就select什么东西啊,D BT number d BT number from de PT这张表。对吧,我们应该这样去写一下,然后呢,我们要查的东西还是一样的啊嗯,查的东西呢,DNA其实我们就不要了,对吧,我们就没必要要这个D内,因为肯定没有嘛,这张表里边你要查D内地表都没有对吧?啊这也是一种减法操作啊,减法操作有两种,一种呢是用level join语,就是a level join语B,然后呢,加一个表条件B点对应的这个ID,假如说你状语字段是ID对吧?意思啊,那啊,我们就用照引的ID就好了啊,照引的这个字段就好,照引用什么字段就用什么字段,那这个呢,我们来分习一下啊,哎,我应该是少写了一个什么。
09:25
嗯,看一下哪块,他说啊,对,这个地方刚才是这个地方,这多了一个逗号,我刚才是不是把这个去掉了对吧?刚才没看这个错吗?是这样的一个东西,我有时候复制就会缺东西,刚才看到报的是这个第四行的这个逗号,对吧?嗯,1234,就说这多了一个逗号,最后一个字段不要逗号嘛,因为刚才我是把四个字段复制过来,然后把最后一个段去掉,对吧。
10:06
这个没有那种的限制,什么没有的限制,就是不是说和里面只能放2000个,这个没有,这个没有。这两天走两个任务,因为有个子查询了,对吧?啊先走子查询的一个任务。俺妈就是比较慢啊。Not in啊,不在里边的,那这里边呢,有十二十三十四十啊,它其实not in的效率啊,就是说这两种虽然都可以,但是推荐还是这样去写,这样去写,因为既然我们用到了一个not in啊,它是要把跟每一个进行什么做比较啊,跟每一个做比较,所以说它效率比较慢啊,首先此查询是一个任务了,然后这个not in呢,会引发很多人啊not in。
11:28
还在跑,总共应该是五个任务是吧,总共五个跑完了,哎,50部门这条数据对吧,通过这种方式也可以,但是明显感觉到那这个效率你看太低了,主要是他五个任务怎么来呢?是这样的,就刚才看到了这是一个任务对吧,这就相当于一个任务,然后主要是not in,对,这里边不是有四个吗?十二十,三十四十对吧?啊,就是我们直接写十二十,三十四十一样的啊,但实际上你不能说写死,因为你知道是是,但生产环境当这个数据咱们是不知道的。
12:04
对吧,所以说只能用一个查询,但其实不推荐这种写法,对吧,不推荐啊,以后遇到如果说两张表要做差级的时候,那我们用哪种方式,用level状语加上一个表条件右表字段。就好了啊,其实这块呢,你可以写任意一个字段,右表里边的任意一个字段。因为既然没照应上A表独有的,那对于B表来说,是不是任意一个字段它都是呢,你随便取什么它一定都是呢,对不对啊,但是习惯上我们取什么取照应条件里边了,因为其实B表里边你随便取一个字段放在这都可以啊,都可以,但是呢,我们一般还是取什么取状语条件的字段啊,更方便一点啊好,这个是另外一种写法啊,两种都可以,一个是用的not in减法操作啊,S当中的减法都是这样去写。啊,都是这样去写,OK,这是我们所说的左连接对吧。
我来说两句