00:00
呃,好了各位,那现在我们看一下刚刚咱们所做的第一个需求啊,咱第一个是各品类商品交易统计的这个小需求,对吧?OK啊好,那现在我们找到这张表的线本语句,再往再往上往上,诶在这儿呢啊,OK,那这个呃,各品牌啊,各品牌这个所谓的各品牌交易统计,他让我们统计的是什么东西来着,是不是让我们统计就是最近一期30天里边,然后呢,各品牌的什么订单数,订单人数,退单数,退单人数啊对吧?OK,好,那么咱们还是按照老规矩,咱们去一点一点分析分析啊,首先我们还是需要先简化一下,暂时不考虑最近七伏30,只考虑最近一天没问题吧。好,那完之后我们接下来要干啥呢?是不是就得分析分析我们下边的这些字段应该从哪些表里边去取数啊,对吧?从哪些表来取数,那我们还是先明确什么来着,先明确它需要什么业务过程对不对?首先那先看这俩下单数,下单人数,这是不是肯定是得找下单的业务过程啊,对吧?那完了之后呢,我们正常是不是得去DWS层找一找,看有没有这个合适的这个汇总表,有我们就用,没有的话就得从明细表里取了,对吧?那这个DWS层有没有呢?那肯定是有啊对,我们之前是不是举例子就用这个需求去举的,对吧?我们专门为他建了一张什么力度的汇总表来着,大家还记得吗?咱们给他建出来的应该是一个用户商品力度的吧,对不对?那这个我既可以统计订单数,也可以统计订单人数,那所以一会肯定是从用户商品力度的表里去取,好,那下面这个咱们都不用分析了,这个肯定从哪上边去取呢?首先业务过程肯定是退单对吧,那力度是不是也有一个用户商品力度的啊这个表啊,对吧?OK,其实这就是我们大致的一个分析过程,好了,接下来我就不再多说了,我们直。
01:40
再把这个小词给他写一下啊,就这个并不难来,我们来看数据双载,那同样我们暂时只算最近一天啊好,那现在我们先算前两个,这是跟订单相关的统计啊,OK,那我就直接来了,直接select from,是不是应该是DWS层的,哎,交易域的用户商品力度的订单的,然后应该是最近一日的汇总表,对吧,因为只算最近一天吧,咱们,哎,那也是我只拿一个分区,2020杠零六杠幺四,这个其实比较简单,好那拿过来之后咱们应该怎么做呢?
02:11
数据,那首先咱们先看一下这里边存的是什么啊,来,我把这个分区的数据查出来,看一下这里边是不是记录了在最近一天里边每个人购买每个SKU的什么次数,件数和金额呀,对吧?好,那玩意儿我们这要算的是什么呀?咱要算的是每个品牌下边的商品是不是被下单的总次数,被下单的总人数啊,对吧?OK,好,那怎么去算这些值呢?先说次数吧,怎么算?某一个品牌下边的这个商品的被下单的总次数怎么算?很简单,那在这儿呢,咱们直直接就有品牌信息对吧?哎,我按照这个品牌排个序啊,咱们把同一个品牌的放在一起,好,你怎样能求出来这个一号品牌被下单的总次数怎么用?你看啊,我这一行是不是就对应这个品牌下边的一个SKU的被下单的这个次数,对吧?好,那你把这个品牌下边所有的SKU的被下单次数你给它加一起,那不就是这个品牌的被下单次数了吗?对不对?那人数怎么求呢?
03:11
人数我前面是不是有UID对不对?我count一下这个UID是不是就OK了,对吧?当然你count u ID时要要干啥,是不是得去重啊,对吧?为什么要去重?那因很简单,是不是可能会出现就是不同的user,呃,不,不是不同样要是相同的userr啊,肯定会出在相同的user去购买谁购买同一个品牌下边的是不是不同的SKU的这种情况出现对不?因为咱们这张表是什么力度,是用户SKU力度,对吧?我可能会出现什么呀?比如张三购买这个一号SKU,它属于A品牌,那张三又买了一个二号产品,它也属于A品牌,对不对,那完了之后你统计人数不就得取宠嘛,对吧?那所以说那这就是咱们的一个大体的计算思路,行了,那完成之后我们继续往下走啊,所以接下来呢,我们只需要怎么做就行了呢,我们只需要进行一个葛入半就行了,对吧,我们得需要把诶同一个品牌的这种购买记录是不分到一组当中,对吧,那我们就葛TMD,当然了,我们最终的结果当中是不是需要用到这个TM,那把TM给拿过来,拿来之后我们。
04:11
行了,T m midd,那再来一个TM,那完了之后呢,我们要求次数是不是直接求和就行了,来咱们上面求和对谁求和呢?应该是对我们的这个,呃,Order是不是count e进行求和呀,对吧?好,这个搞定下一个,那下边我们要做的应该是啥?得count一下对吧,Count谁count Dis distinct的,把里边呢放上一个UID好,那这样一来我们就得到了最近一天里边的各品牌的这个下单次数和下单人数了,诶好,那这个就搞定了,那他搞定之后我们继续往下进行,那呃,有了这个完之后,咱们下边是不还得算一个什么最近一天的什么这个各品牌的退单数和退单人数啊对吧?这个我其实我觉得都不用写,也不用得,都不用分析啊,咱们直接把这个给它拿过来,是不是改一改就行对吧,我们首先改成改这这个现在是下单,我们应该给它改成是不是那个退单表啊对吧,OK,好,这个这两个这两人哪还得改一下是不是这儿这个下单次数,咱们给它改成是不是退单次数就行了,对吧?来我们找一下一个是older。
05:11
是不refund count ED,别的地方还用动吗?不用对吧,别的地方其实都是一样的,所以这块呢,咱们退单数,退单人数也就求出来了,非常简单,好了,那最近一天的全部搞定,接下来我们应该搞什么呢?是不是那个最近七还有30了,对吧?七和30的咱得分析分析怎么做了啊来,我们现在先考虑下单的这两个指标来看一看他们的七和30怎么写啊,我这加一个标注,这是我们总结的下单相关的啊,这个是1D,那下边这个呢,我们要算的是7D和30D,看看这块咱们应该怎么做啊,30,然后D啊,诶30D,好,那现在咱们开始先看7D啊,这个7D怎么算,注意我们要算的是什么来着,是最近七天内各品牌的是不是这个下单次数,下单人数啊对吧?OK好,那问一下大家,你说我们用ED这张表算能不能行。
06:01
可不可以算可以对吧?你拿七天的相当于是这个下单的记录对吧?你相当于拿七个分区就行对吧?然后呢,是不是进行一个聚合那就OK了呀,对吧,其实可以算出来,但是我们肯定不能这么算,你要这么算是不是咱那个ND表是不是又没意义了呀,对吧?那所以在这我们肯定得从ND表里取啊来我们谁来一下from应该是DWS层的交易域的下划线啊,换一下输入法吧,来呃,Trade对吧,Trade的,然后呢是用户SK商品力度应该是OND这张表啊对吧?那这回我们拿几个分区呢?还是拿一个分区即可,零六杠幺四好拿到之后,接下来我们应该怎么做?那在这儿呢,我们还是先来一个谁来的芯儿,咱们看一看这里面存的什么结果啊,这里边儿咱是不是存储了在最近,首先这块是最近七天对不对,在最近七天内对吧?每个用户购买每个SKU的次数数和金额,以及最近是不是30天内每个用户购买每个SKU的次数件数和金额呀,对吧?好,那现在咱们要算的是啥来着,我们要算的是诶在最近七天里边每个品牌下边的商品对吧?被下单的总次数和总结额,那所以说我们理论上也是这么做就行,也是葛如拜一下这个品牌,然后对这个呃数据是不是进行一个聚合就可以了,对吧?来我们也是直接按照它俩进行分组,分完组之后我上边怎么去处理呢?
07:26
也像我们刚才ED这种操作行不行也这么做,就首先我先把这个TM拿出来啊,那这边我要是再求和,我就不能再对,是不是E1D的这个次数求和了,我应该对谁求和呢?应该对7D的求和对吧?好,那人数呢,我是不是也应该是抗的din ID呢?能不能这么求?哎,说实话这个没问题,但是这个呢,你要这么写,稍微的有点问题对不对,有什么问题呢?来咱们分析分析啊,首先那咱们得知道我这儿求和是对什么求的和。是对一个人在最近七天里边对一个商品的这个购买次数是不是求的和呀,对吧?但是你把什么样的聚聚合在一起了呢?是吧?属于同一个品牌的这种商品的这种购买统计值是不是聚合到一起了呀,对吧?诶是这样的,OK,好,那完之后呢,咱们前面提到过,就是在这张表当中,对吧?比如说我出现某一条数据,咱们找一下这张表的数据啊,跑哪去了?应该是这张表啊,就是在这张表中,这是ND那张表啊,出现这样一条数据,并不一定能代表这个人在最近七天里边一定是购买过这个商品的,对吧,不能代表对不对,OK,那所以说我们在进行聚合的时候,是不是得考虑到这种情况啊,对吧?OK,好,那我们在统计这个次数的时候,那我们需不需要去加一个什么义服判断那种,那个不用为啥,因为你次数如果你没下单,没下单是不是就是零对吧,我求和也无所谓对吧,但是你下边这个人数是不是就不能这么去做了,对不对,OK,那很简单,假如说我这里边出现了一个人,一个SK,它属于一个品牌。
08:58
对吧,他在最近七天里边明明没买这个啊,这个这个品牌下面的商品,那完之后我直接看了,是不是也会把他算一个人呀,对吧,所以这个肯定不行,那怎么办呢。
09:08
是不是又得有条件的去看看来对吧,他得真的买了我才算,您不买我就不算了,对不对,那怎么办呢?对,那就看着distinct的里边,咱再给他套一个if是不是就行了,对吧?应该怎么来呢?应该是older是不是这个COUNT7D大于零,那我才把谁拿出来,我才把UID拿出来进行去中统计,否则的话呢,我拿谁对这回得拿闹才行对吧,因为我外边是抗的,你要不想算就得拿闹才可以,好这是大家是要注意的,好了,那最近七天的,那咱们就算完了,哎,七的要算完了,那30的是不是也就简单了呀,对吧?来我们只需要把这个七,哎是不是改成30,那同理这儿呢,是不是也要改成30啊,对吧,下边这怎么处理?下边这儿其实说实话,你就直接来一个count的user ID是不是就行了,对不对,因为很简单,出现在这张表当中的这个user ID你一定能代表那他什么呀,他在最近30天里边是买过这个SK的,对吧?哎,是这样的,所以说你这块呢,其实可以直接进行那个count,当然呢,我这儿呢,我我这么写是不是也行啊,对不对,我这么写跟我直接countin是一样的,为啥?因为这个值永远大于零对不对啊,它是永远成立的,OK,好,那咱们这儿呢,就诶给他留下来吧,啊好了,那截止到现在呢,那咱这个七和30的就算出来了,显然七跟30我们是能够合并在一起的,对吧?OK,好,那我要合并,我应该怎么合并,还是观察他们俩的这个区别和联系啊,先看他们有什么联系,他们的联系目前我们应该能看出来,他做了一个什么操作,是不是也是从同一张表的同一个分区取出来,同一个表同一个分区,你看它有其他的不同的外热过滤吗?是没有的,也就是这俩子查询他们用到的行是完全一样的,对吧?好,那完事,我们。
10:51
继往下看,那他们的聚合逻辑相同不相同的,哎,首先分组是按照同样的字段分组对吧?好,那聚合逻辑当中,聚合逻辑我们应该包括两部分内容啊,一个是聚合函数,一个是你聚合的那个度量值是什么?对吧?OK,那他们用到的聚合函数是不是完全一样对吧?Sum count if sum count if,这个是完全一样的对吧?好,那哪不一样呢?聚合的字段,聚合的度量值是不一样的,这个我聚合的是order count30,这个我聚合的是order count7,对吧?那所以说我们这又可以怎么做呀,是不是可以先拿这样的一份数据,然后呢,给它炸成同样的是不是两份啊对吧?但这两份呢,我们取字段的时候,你得分开取,对吧?你注意观察,你看我们在做统计的时候,我们需要用到什么字段呀?T m midd,这个t m name咱得用,Order咱得用,对吧?还有UID咱是不是也得用啊,对吧?好,这几个字段上下两个字查询拿的是完全一样的,谁不一样呢?只有order count不一样,Order count他是不是拿的是7D,他拿的是30D啊对吧?所以在这儿呢,我们应该区分一下,哎,两。
11:51
份里边分别去拿两个不同的字段,好,那之后呢,我们再对这份数据进行统一的分组聚合,是不是就OK了,对吧?这还是那个操作啊,我再最后写这一遍啊,咱们快速的写一下我们一下,然后呢,From先找到我们这张表的这一个分区,拿过来直接CTR,好那后边我们是不是得来一个let view啊对吧?ES pro里边放上一个rray里边放上一个七,再放上一个30,那后边咱们起个名叫T,然后as对吧?好,那现在数据已经由原来的一份变成两份了,对吧?那现在我们就可以从里边选咱们所需的字段了啊,首先第一个我们需要的就是t m midd,这个得拿出来,第二个t name咱也得拿出来啊好,那再往下,再往下咱是不是还得去拿一个这个O呀,对吧,最后再拿,因为他需要区分一下还有谁,我们是不是UID也会用到啊,对吧,那UID上下都是一样的,直接拿就行了,诶只有order count不一样,那这个是不是就又得用一个case。
12:51
下对吧?来我们写一下啊end,然后下边呢,我们呃,这儿需要给的case谁呢?Case re this对吧?好,那完之后继续往下走,应该是呃问对吧,问什么呢?问七,那就赠older count7力对吧?呃,问30,那就older count3十力好,那这俩一块改一下啊30好,那这个就改完了,改完之后咱给它起个别名叫做O_cout看好了,那这个就搞定了,数据咱已经准备好了,那接下来呢,我们要做的工作是不是就是按照recent days进行分组统计,这个应该是写错了啊,咱们把这个改一下days啊OK,那这边我们就已经拿到了我们所需的这个数据了啊,当然这下边也得改一下啊CTRL行了,那数据拿到之后,我们接下来是不是就可以进行分组聚合了对吧?那现在我们把最后一步做一下CTRLX,呃,这个回车删啊,这边把这个零去掉啊,呃,CTRL行了,那数据呢,我们就这个这个这个子查询呢,咱们就已经拿过来了啊,往前推一下拿来。
13:51
之后我们给它需要去起一个别名,哎,咱们就管它叫T就行啊来,那接下来往下走,Select之后呢,From,那接下来我们要做的这个聚合逻辑是不是跟之前这两个里边的聚合逻辑是一样的呀,对吧?但首先我们都需要按照是不是这个t m midd和TM内进行分组,对吧?但是我们现在不能直接按它分组了,我们还得带着谁呢?Recent,因为咱们现在有两份数据对吧?那所以说这个也得把它拿过来,拿过来之后上边咱再选的时候,是不是也要先把recent this选出来对吧?然后再把咱们之前所选的这些字段给它选出来啊,对吧?来给它拿过来,当然拿过来之后呢,这里边要调整一下,因为我们这儿不再区分七和30了,他们统一都叫older count,对吧,那把这个去掉那就完事了,好了,那这样一来我们就同时得到了最近七天和最近30天内的各品牌的诶这个下单的次数和人数了,哎,好,那这个要得到之后分开写的,咱就不再需要了,给它去掉,那去掉之后我们再往上走,诶那在这边最终我们需要把他们是不上。
14:51
下做一个union的操作吧,应该是对吧,这是一的,这是七,这是30,是不是得union一下对吧?OK,好,那这边呃,咱们为了union得补全字段啊,上边补上个一啊,OK,那完了之后我们这来一个union off对吧?那现在咱把这个词给我查一下,看一下最终的结果,你看我们现在是不是就已经得到了最近一天内的各品牌的下来次数线的人数,还有最近七天内的各品牌,最近30的各品牌啊对吧?好,那这个就搞定了,好这块搞定之后我们再往下走,各位同学,下边是不是咱们还得去处理一下那个什么最近七和和最近30的那个啥,那个退单的次数和退单的人数,对吧?好,那这个处理的方式跟上面的处理方式是不是应该是完全一样的,对吧?所以这边我们就不再重复了,咱们这样啊,我直接把文档当中的这个最终的结果拿出来,咱们看一下就行了啊来这边我直接拿到底吧,咱们全拿出来吧,CTRLC,那我我这就不再留我写的内容了啊,我直接把我写的东西全部覆盖掉了啊,来直接覆盖掉,其实都是一样的啊,CTRLV,好来看一。
15:51
下文档当中,最后他是怎么做的啊,它这儿呢,整体上呢,实际上是两个大的紫查询,来看一下,我这个先收一下啊来我收一下大家来看啊,那整体上呢,它是这么去做的,呃,现在这个完整的结构大家应该是能够看出来的,对吧?大家注意观察这个这个所谓的o drr这个子查询,这个指的是啥呢?指的是下单相关的统计,对吧?诶这儿,呃,优念前面这个算的是什么?是最近一天的,这个是不是算的最近七和30对吧?OK,那下边这个呢?诶,其实是一样的道理,这个是退单相关统计,这是一天的,这是七和30的,OK,那现在咱们展开看一下啊,来看一下这个一天的一天的是不是跟刚才咱们写的没什么区别啊,对不对,是一样的啊,然后呢,再看一下它这个N天的N天的其实跟咱写的也是一样的,你看啊select,呃,然后呢,说让一个这样的紫查询,这个子查询是不是就是我们刚才说的那两份数据,一份拿7D的,一份拿30D的呀,对吧?啊然后呢,后边分组哎,最终聚合,诶其实跟刚才咱们写的是一样的,下边这个。
16:51
会议单的呢,我们就不再展开看了啊,这个呃,其实跟刚才那个没有什么区别,结构都是完全一致的,只不过就是表明不一样,字段不一样啊,这个我就不再啰嗦了啊好了,各位同学,那这样一来我们就已经得到了我们最终的这个结果了,然后得到最终结果之后,咱们这需要关注一个事儿啊,什么事大家来看啊,我们刚才看了这个o drr是下单相关的统计对吧?那下边这个refund呢,是订单,是退单相关统计,那最终咱们是不是得把下单跟退单的这部分数据给他join一下对吧?然后咱们来看一下他join的时候,他用的是什么方式。
17:24
用的是全外联对吧?好,这为什么要用全外联呢?哎,我这能不能不用全外联。哎,这个其实很简单,来咱们想一想,同学啊,就是我上边这个与下单相关的统计对不对,那我们虽然咱们去写serve的时候,我们并没有让他去从明细表里查,我们让他从汇总表里查的,对吧?但是大家都知道汇总表的数据其实也是从哪来的,也是从那个下单的明细表里来的,对吧?下单明细表里咱们存的是什么?是所有的下单记录,对吧?是这个道理吧?OK,那也就是说我们这个o drr,也就是下单的这个子查询它返回出来的这个商品。
18:04
呃,或者说他返回出来这个品牌吧,因为我们最终力度是品牌,对吧?那只有什么样的品牌呢?是不是只有被下单的品牌,如果有个品牌对吧,在最近一天,最近七和30没有被下过单,那它是不是不会出现在我们这个o drr的结果当中,对吧?OK,好,那同理,下边这个紫查询呢,它里边只会包含什么样的品牌呢?只会包含就是在最近这段时间内被退单的品牌,这个道理吧,没退单它就不会出现。所以说那你想一想,我们上下这两个紫查询,他们所包含的品牌应该是一个什么样的包含关系的,两者是互不包含对不对?OK,啥意思呢?OK,咱们来比一下啊,OK,那假如说我们看这段,这段技术在左边,又是在右边,这指代的是什么呢?是在这一段时间里边啊,OK,我这个品牌既有过下单的记录,也有过溃单的记录,对不对?OK,那如果说是这部分呢,是不是在这段时间之内只有过下单记录,没有过退单记录,对吧?那同理,这边就是只有过退单,没有过下单,是不是他应该是这样的一个关系啊,对不对,既然是这样,我。
19:04
我们是不是就得用全外联才能获得最终的所有的这个品牌信息啊,对吧,你要用inner照哎,或者用left right照,你得到的结果是不全的,这1.1定要要注意一下啊好了,那完成之后呢,我们再往上走,那既然我们用的是全外联,你全外连是不是这会肯定会出现闹值啊对吧,那出现闹值我们怎么办呢?那就得NVL了,对吧?来咱们往上看,你看最终我们选择这个照案之后的结果的时候,这一块咱是不是都给它嵌套了NVL了呀,对吧?咱们重点关注一下就这几个统计值对吧?统计值这边我这正常都是按什么处理的呀,没有就是零对吧?那没有就是零,这个处理合理不合理呢?其实合理对吧?为什么咱们来看一下啊,诶,比如说我现在是这样一个对应情况,对吧,刚才说了这一部分只来的是什么来着,是这些品牌在最近一段时间只有退单没有下单对吧?好,你没有下单,那你的下单次数是不是就应该按零算呀,对不对,所以说这么处理是没有问题的啊好了,这是大家需要去注意的一个小细节,好。
20:04
啊,那既然这儿提到了这个全外联了,那我就得多说两句啊,就是咱们大家全外联也用过,但是我们最多的时候可能也就是两张表进行一个全外联对吧?呃,完了之后呢,如果我们要进行三张表或者是更多的这个表的全外联的时候,大家呢,很容易会出现一个问题,那什么问题我们来看一看啊,来这边当然跟这个需求没关系了,咱们做一个扩展啊,假如说我现在呢,有两个表进行全限点,咱们一点点延伸啊来这是A表,这个是B表对吧?它俩进行全联的时候,我们是不是得给它俩指定一个这个关联字段呀,对吧?那我们通常就是从A里边找一个字段,然后呢,等于B里边的某个字段,对吧?比如说a.ID等于b.ID那咱们通常是不是这么去关联,好这个正常情况下是没有任何问题的,对吧?好,那完之后注意观察,我们现在三个表进行全外联,这时候呢,我又来了一个C表。诶,这是一个C表,C表跟他们俩进行大家都知道啊,就是我多表进行关联的时候,实际上它是怎样的一个关联顺序呢?是是不是前两个先关联,然后用前两个的结果跟第三个进行关联啊对吧?OK,也就是在这咱们去关联的时候是这么去关联的,没问题吧,它跟C去关联,好那现在我的问题是什么呢?就是你在写三的时候,对吧?那我是不是应该是A啊,负John这个B,然后后边有一个on谁等于谁呀,对吧?然后紧接着是不是又来了一个负John c对吧?然后后边是不是也得写一个on谁等于谁对吧?关键是C后边的这个on谁等于谁怎么写,也是C后边这个连接条件咱应该怎么写?
21:39
对吧,A跟B简单,那比如说就a.ad等于b.ad就完事了,对吧,关键是C这块咋写。我能不能也写一个什么a.ID等于c.ID能行不不行,为啥?因为前面说过,它实际上是前两个的结果跟C进行关联的,对吧?好,你要用a.ID是不是这明显会出现用now去关联后边的数据啊,对吧?那我这部分数据很明显是能够对应上,能够关联上对吧?但因为咱们写的连接条件不对,他就关联不上了,所以这个结果肯定不是咱们期望,那应该怎么写,是不是应该用NVL啊对吧?应该是NVL对不对?然后呢,选谁A,然后呢,呃,选一个字段对吧?然后呢,再来一个B的一个字段,然后呢,让他去等于谁等于C里边的某个字段得这么去写,也就是说你得选前两个里边不为空的值去跟C进行关联,这样得到的结果才是咱们想要的结果,诶,这是大家特别容易忽略的一个问题啊好,那接下来咱继续往下走,三个表咱们关联,那有没有可能出现四个表这个全外联呢?也有可能,对吧?那假如说我出现四个表全外联,那我这个关联条件又应该怎么写呢?对吧,我这又来了个D。
22:45
对不对,那D后边的连接点咋写,是不是正常情况下就得从哎ABC3个表里边找一个不为空的去关联了呀,对不对,OK,那这个怎么写这个三呢。ABC里边选一个不为空的。
23:01
咋从ABC里边选一个部位空的出来。哎,是不是套一层NVL就行了,对吧?咱可以怎么写,我可以这么写呀,NVL对不对,里边NVL对吧?然后一个A一个B对不对,然后后边的再来一个C,那这样一来是不是能找到三个里边就是不为空的对吧?OK,那你这么写其实就可以,当然这么写是不是感觉有点臃肿啊对吧,那我要是再来一个表,你是不是还得再套一层啊对吧,这个显然太乱了,那所以在这儿我们通常你这是三个表及以上啊,咱这就不用NVR,那用谁呢?用另外一个函数给大家再介绍一个新的函数啊,这个函数叫什么呢?叫做Co a unless函数,这个函数很简单,它就是一个增强版的N,对吧?它跟NL的区别是什么呢?区别就在于NL只能接收两个参数对吧?而它是能够接收N个参数了任一个对吧?那它的使用逻辑什么呢?给大家演示一下,比如说这来一个一,哎,这来个二,这来个三对不对?那完了之后呢,我这再来一个啥呢?再来一个no对不对?那再来一个来四,再来一个五等等等,你可以随便传那玩意,它返回的值是什么呢?就是你这一系列的参数当中的第一个。
24:05
个不为空的值对不对?其实你看它这个idea,这个data做的比较好,它其实已经把这个函数的返回结果是不是用高亮的形式给展示出来了,对吧,别的是不是都给变灰了对不对?那如果我第一个值要是闹呢,你看谁就变成亮的了。谁就变成那量的了,二是不是就变成量的了,可能反应有点慢啊,稍微等一会就行,那你直接执行结果那反回来就是二倍对吧,它其实就是一个增添版的NL,所以说我们要是多个表进行全外联的时候,那咱们就可以怎么做了,是不是直接来一个,比如说我在前两个前三个表对吧,我跟第四个表进行关联的时候,怎么写就行了,应该是on,是不是Co,然后a.ID b.ID c.ID等于d.ID那就完事了,对吧?哎,这么写就完事了,那你就不用嵌套一大堆的NV了啊这个稍微的记一下就行,叫做Co unless啊,取N个值当中的第一个不为公的值啊,行了,那这个呢,我给它CTRLX,我给它放在咱们上边这个位置吧,哎,给它注意下啊,就是大家以后也可能会用得到,行了,那关于多表进行全外联,就是大家一定要意识到这个关联条件的这个书写问题啊,行了,完成之后视频我停一下。
我来说两句