00:00
好,我们看一下这个在have当中的一个交易操作,一个交易操作它也是可以的,但是你要注意一点,就是它只支持什么等值连接,不支持一个非等值连接,非等值连接啊来我们看一下,首先它查的第一个是什么根据,那既然涉及到交应的话,肯定要两张表的吧,一张表其实教育也可以叫自连接是吧,但是没什么意思,没什么意思,其实这个可以是自连接的。咱们这个emp这张表如果自连接,你需要查什么需求的时候自连接啊,查每一个员工,他这个具体那个管理领导的姓名叫什么吧,你是不是要自连接啊,因为此时select行from e MP这张表,现在你的一个领导啊,它都是编号,这个编号是不是来自于这从这取的吧?啊当时你们在讲四连接的时候,应该指的就是这个案例是吧,因为好像你们班所有当中就玩来玩去。
01:11
总共也就是这三张表是吧,三张表是到还还是这三张表是吧,这是他的一个字连接,然后我们就是不完成它的一个字连接了,主要看一下它的一个多个表之间的一个连接,多个表之间的连接,现在你要查部门编号。查员工编号,员工姓名和部门编号不对吧,部门名称吧,部门名称啊,因为如果是部门编号的话,你就没必要教育部门表了吧,部门编号ERP那张表里面是不是自己就有啊,对吧,自己就有啊,现在我们要查的内容我们知道了,Select e点,我们要给表取别名嘛,要不然你要写EP啊,就比较麻烦,那你就写E嘛一点,然后员工的一个编号是。
02:03
EP number吧,P number,员工的一个编号,员工姓名1.1name,还有一个就是部门的一个具体的名称是吧,啊地点DEP d name是吧?应该它它叫d name。你要查的是这些东西,然后来自于哪张表,From dp,然后取一个别名E教育码,哎,要来自于两张表是吧?DBT,然后是D这张表,然后交应那个字段二嘛,是吧?交应二二什么呢?e.de PT number等于d.de PT number,这样就是一个下没有这个,他说第三行14个就这个地方,那我们看一下DEC底下这个DPD这张表是吧。
03:10
哦,我们当时把这个全部改了是吧,DEPTD是吧,Depd,那我们把这个语句重新写一下select的,然后是join,然后是它的一个具体的字段,它是不叫这个了,它叫DPTDDPD这个表示我们当时自己建的是吧,修改过的啊走。那你们做的时候就把这张表,如果人家修改过的,最好咱重新建一下是吧,建成那个什么de PT,就把它一个字段统一一下,省得有这些问题。
04:01
好,这就是连接到他把员工的一个编号,员工姓名以及他所在的部门的名称拿出来了吧,一个表是拿不到的,这是一个连接,连接基本的一个连接操作,然后这里边是取得一个说取表的一个别名,提高它的一个简化它这个查询啊,刚才我们也已经用过了,然后就涉及到这些东西是吧,那七张图啊,啊七张图嘛,两个表,两个圈啊,两个圈是吧,怎么连接的,他具体哎哎是这一块内容啊,还是这一块内容啊这一块对吧?哎,其实在汉当中他也可以做,还可以做啊来看一下,一个一个看一下吧,然后我们把这个语句啊一下,就不要每次敲敲这些东西,把这个复制出来,康成飞,然后再拿这个。
05:00
我们把它写到一行,方便我们等会再进改啊。在这了是吧,拿过来是这样的一个语句,其实这个这个语句本身就是什么。这个语句在内连接外连接,什么左外右外,什么全连接,叫这个叫什么内连接吗?内连接就是他们两个都有的才会返回出来嘛,返回返回出来。把这个拿过来啊,这个就不执行了,已经执行过了,那我们外连接应该是来照一吧,来的,那左外他的一个结果多的东西是多在哪多左边的是吧。你不知道我们这个ERP这个表里边有没有文档。
06:01
按理来说应该是有的,如果因为这个表设计出来,就是要做这些所谓的一个数据的一个操作嘛,还真没有是吧,还真没有,那我们看一下这个右边连接。GX啊,右边连接走一下,那这个时候如果说。第二张表里边有知道没,那块能查出来是吧?你看他就是这个这个有个这个部门,但是这个部门呢,成立了,但是现在还没有招人是吧,还没有招人,所以说哎,他光部门表里边有这个数据,但是在员工表里面没有这个数据,它也是能查到的,能查到的,但是就是我们那个数据啊,就EP这张表里面数据在这里面都是有的,所以刚才我们那个组外连接的话,是没有看到,最后多一个那的话,对吧,正常的公司当中也没有这种人啊,就说有有一个员工,但是他没有部门是吧,老总是吧,老总他应该也有部门的啊,也有部门的,然后我们看一下,还有还有个满外连接是吧,哎,负那满外连接。
07:29
就是所有的数据法,哎全量差异,那大家还记不记得买怀人家在MYSO当中是怎么实现的,他没有直接不能直接这样它是不是还有要U正两个什么不能为now,左边为那或者右边为那呀,比较麻烦,Oracle是有这个的吧,Oracle那看一下have,看能不能走一下have,它也是可以直接这样操作的,就很方便很方便,那这样查出来数据,其实跟我们这个U关连接查出来数据是一样的是不是?
08:04
因为左外连接它并没有多余的数据,没有多余的数据,所以这个满外连接呢,它跟这个右外连接是一样的,一样的就是你们还是记得那那几张图是吧,那几张图就就OK了,它都一样的,你看他这个数据是一样的吧,数据一样的,只不过就多了这条是这条比内连接多了这条,这是它全部的一个连接,内连接左外哪外还有一个多表连接,刚才我们是两张表是吧,现在又来了,终于出现了第三张表,这个location是吧,Location来了。我们把这个书据拿一下看RLC,然后Y一下大写了是吧,掰一下c.T然后把这个表见一下吧,这个表里面字段有两个是吧,我把这个表拿一下,然后把这个数据加载来的,然后是t model,然后是get斯,然后是那个嘛,点点into,这个表叫那个表啊,Into table。
09:46
走一下,好呃,查一下这张表里面的个内容是已经导入进来了吧,导入进来现在呢,我们就要用三张表的一块链接,那就是两个交易,其实是吧,三张表,那我们要查一个这个员工在具体的部门,然后这个部门在哪个地方啊,就是我们要查什么内容呢?就是员工姓名,然后是部门姓,部门名称加一个地理位置名称,对吧?这三个数据是不是分别在三个表里边啊,任何一张表或者两张表都拿不到这三个数据吗?那就要涉及到三个表的一个连接,那我们要查的内容select1.1name d.d name,然后第三个字段叫什么?L点这个字段嘛,LC name是吧,LC name,好,这是你要查询的字段,然后是。
10:46
From from EP这表取个别名叫E效应效应dept这张表啊,De PT这张表取一个别名D,然后是二,这个字段应该是点de p number等于这个是ID的吧,ded.de pdd,然后再叫一个吧,叫一个,然后这个。
11:21
叫什么表,Location那个表是吧?Location取别名L,然后是,然后是这个东西吧,地点DPGD不是ID了是吧?这个是应该是我我们这个里面是LC是吧?是LC啊LC好,然后等于l.LC这两个是一样的,好走一下应该没有字段的错误是吧。那你想想看,这其实两个表的一个教应让你写,那好写不好写吗?那不教不都学过了对吧?那如果这个三个表的教了。
12:13
啊,三个表的交易呢,这种呢,写那先写两个的是吧,两个交易完了之后一个结果,然后可以第三个表交易,这可以啊,这是可以的,但是你要注意到他。他这个跟以往的一个,你会发现它中间打印的日志会很不一样是吧。他做了一个很多的一个其他的一个操作,对吧,能感觉到了你正常的一个日志,是不是启动一个任务之后就干什么,具体去什么卖radio是吧,你想想看他应该干了什么事,可以做缓存吗?可以做缓存呢?做缓存你缓存一个文件,或者缓存两个文件,你们缓存数据之后,像通过context去get的时候,Get那个URL,你URL是不是取的是零,还有印象吗。
13:18
没印象了是吧,也就是说它同时可以缓存多个文件了,多个文件了对吧,因为你想想看,你取文件的时候,它是一个数组,它是U为URL数组,然后因为咱们是只缓存了一个文件,所以取的地方呢是零。那也就说明那后面还有一还有二吧,你可以缓存多个文件,缓存多个文件,其实have在做那个交引操作的时候啊,它也就是类似于这种小表交育大表怎么做呢?它也是把小表缓存进去,缓存进去,所以你这前面的看待一些日志啊,跟往常的那个日志是不一样的。不一样的,因为他要做一些缓存啊,这是三个表之间的一个连接查询,连接查询啊,就是整个的一个交易操作。
14:12
啊,都有,那其实就是在四个表五个表都一样嘛,就是按照交易字段来呗,只不过说业务逻辑很复杂的时候,他可能就要像刚才有位同学所说的,很多个ma任务来执行了,因为他一个ma可能是真的执行不完了,因为太复杂的时候,它就会起多个F6的任务很难执行。
我来说两句