粉丝10.1万获赞2.6万

你会用 circle 中的这个 row number 和 over 函数生成连续的这个序号吗?哈喽,大家好,我是陈学文论讲。那今天我们就来讲一讲怎么样在 circle 当中用这两个函数 row number 和 over 生成连续的一个序号列在我们的日常的工作和学习当中呢?当我们使用了这个呃标识列 的时候呢?嗯,当你中间删除了一些数据,那他这个就不连续了,就比如说你看我们这个第四条,他就没有了,还有后面的你看十四条,还有这中间也删除了很多条, 那他这样看起来我们的数据就不连续了,不利于我们去做这个 circle 的这个分页。那这个时候呢,我们就需要去把这个数据进行一个正常的这个排序,那要怎么做呢?我们今天就用就用这两个函数来解决一下这个问题。 那么首先呢,我们先来看一下这段代码它是什么样的?我们先我们先写出来,然后去分析它这段代码。 select 啊,我们的这个 steve id steel name, 然后呢?啊, you your number 这里面呢?我们用什么呢? order by, 用我们这个 stu id 来进行排序,然后呢这样写好了之后, as rose wrong 的这个 student info。 那这样呢?我的一句最简单的代码就写好了,但是这两这句代码里面呢,有两个函数就比较就比较陌生,这个 row number 和这个 over 函数这里面,诶,怎么 怎么欠套的奇奇怪怪的,跟我们平常用的这个呃语法不太接近,看起来有点怪,是吧?因为没用过。然后我们来执行一下,看看他出现的这样的一个结果, 你看它多了一个 rose, 然后我们会发现这个 rose 呀,它是什么呢?它是连续的, 它是连续的,它们中间没有没有说有有断掉的数据,它是从一开始的一个连续值。那这个是怎么来的呢?这个就是通过我们的这个呃, row number 和我们的这个 over 函数来实现的。我们来先来看一下这个 row number 它是干嘛的? row number 函数呢?它是为每一组的数据行生成,按照 顺序生成一个唯一的序号,生成一个唯一的序号,那然后呢?他需要结合什么呢?结合我们的这个,结合我们的这个叫什么来着?开窗函数,我们把它叫做 开窗函数 over, 这个 over 看起来就很简单了是不?但是也没有用过,那这个 over 它是什么呢?它是一个开窗函数,它的用法是干什么呢? 它的作用简单的来讲就是做聚合计算,做聚聚合或者是统计,把那些可以在聚合里面实现的那些函数都给它放到这个 over。 揉在 在一块了,都在一块了。那开车函数呢?他不需要什么啊?用 gopro 班呀,进行分组呀,返回什么什么的呢?返回什么的那些,他主要就是把那些复杂的那些聚合的计算都给他放到这里面来了,我们直接用就可以了,用就可以了。 那有了它之后呢,我们就可以干什么呢?我们就可以去拿到我们的这个值。他的语法是什么呢?语法 over, 它里面其实有写的,换一行写吧,它里面呢有两个参数,其实有两个参数, 第一个参数是,嗯,叫嗯, partitial, 叫 partitial, 呃是叫 卡退下,然后呢? by, 然后呢就是念名 order by, 念名后面可以跟上他的排序方式,排序方式第一个叫什么呢?第一个 partition, partition, 它是它是分组,按照什么样分组进行这个计算,那这个呢,正常情况下我们用的时候是很少的,所以我们直接用了这个 order by 列米,然后来得到它的值,那正常情况下呢,我们是没有给它进行这个 进这个排序的,那我们这里可以给他一个降序的排序,我们来看他的到得到的值是什么,你看他就降序了,哎,第就是数那个 id 最大的排到了第一个, id 最大最大的排到了这个第一个,然后呢 我们把它去掉之后呢,那他就是正常的排序了,正常的排序了,那他的作用是什么呢?我们也来演示一下他的作用,他的作用是分组,他的作用是分组。 写到这它的作用是进行分组,分组啊,排分组编号,分组编号。什么是分组编号呢?我们来看一下它的这个例子,你就能知道了, 所以说我们要把它把这个啊 partition, 老师记不住这个单词, partition, 然后 by, 那我们这里面有一个什么呢?有一个这个性别的这个,呃,这个 has 这个列,我们把它用来做一下分组,我们来看一下,你看它得到的是什么呢?按照 性别这样看起来不不是很明显哈,那我们把这个性别给他加上,这样我们把它加上就看起来很明显了。 看蓝,先按照蓝,先按照嗯 c two six 为蓝的这一组 进行排序,进行那个编号,一二三四五六七,那再按照女生的这一组再进行一二三四五六七进,这样去排序, 这个就是我们的这个 partition 的这个这个参数的一个作用,这个参数的一个作用,当然我们的这个 row number, 它跟这个结合使用呢, 它的主要作用就是为了去控制。再写写一下,它的主要作用是什么呢? 主要作用是为了控制 over 函数,控制这个 over 函数,而且不可省略, 而且不可省略。控制它不可省略,当然它只当然它这个,呃, row number 呢?肯定不止一种,它还有别的一个用法, 那这个地方呢,我们就暂时就只讲这个 rome number 的一个用法,当然它还有别的一个排名函数啊,比如说,嗯,叫那个什么,还有一个 n n t n tile 的一个函数,后面我们有时间再安排一下,那今天内容我们就到这里了,就是主要讲这个的用法,它其实就是 看着很复杂,但是你可以把它当做就是一个啊排序编号的一个函数,它要它需要组合使用 row number 和 over 组合使用,用它,用它来进行编号,然后去 控制这个函数。这个函数里面呢有两个参数,第一个是 partition, partition 是进行分组,分组就是分完组之后,然后去再给他进行一个呃,一个这个编号的这样的一个作用,今天咱们就到这里。

哈喽,大家好,我今天想给大家讲的是零基础纯文科如何学习则口,为什么我会给大家分享这个呢?是因为我自己本人呢,就有这个经历,我从本科到研究生都是纯文科,没有任何的数学基础,但是我在大厂当过数据分析师, 我本科是学新闻,研究生学广告,是零基础自学的心口,所以我不会给大家讲废话啊,只讲干货,照着我这样做,是肯定能学会心口的,因为我本人就是这么走过来的。 那么我认为学习思考主要分为三个部分,理论学习、基础学习和练习。那么第一个部分呢,就是理论学习。其实呢,已经有很多博主分享过相关的视频了, 但是我在看了他们的分享之后,发现他们都忽略了最重要的一个环节,这也是我从我的整个思考学习的经历来看,绝对非常重要的一个东西,那就是数据库系统的理论学习,因为思考的本质是一种数据库语言,因此如果是纯文科 零基础小白在学习一些数据库系统的基本概念和原理后,再去学习数据库语言反而会更加容易。因为你明白了语言背后的逻辑,先一步打好了基础,了解了背后的原理, 那这就好比你学英语,你先学习了语法,了解了背后的原理之后,这样学起来就事半功倍,所以这是我认为要做的第一步,也是非常重要的部分。 可能哈,会有人觉得这个和胸口学习本身没有关系,但是从我的亲身经历来看,在打下这个基础后,对于后面的胸口学习反而更加容易,那么这个东西在哪里学呢?我在这里直接分享给 大家一个视频,这是我当时对比了好几个视频,然后找到了一个觉得讲的既全面又专业,同时非常的深入,显出通俗易懂的一个视频。这是哈工大的一个木克,大家可以直接在中国大学木克网上就能看,那么你搜索数据库系统上模型与语言就可以了,这门 课呢,就会讲清楚什么是数据库,什么是关系模型,关系与关系之间的并插、交外连接等各种基础的逻辑,那其实这些逻辑就是学口语言背后的逻辑。不过这门课不用全部看完哈,大概看到第六章就差不多了,如果有时间的同学,你可以选择看完。 那么第二步呢,就是思考技巧本身的学习,其实在打好了第一步的基础后,你在这一步学习起来就会比其他人容易很多,因为呢,你已经把背后的数据关系逻辑都弄明白了,这一步只是把之前的逻辑转化成语言代码,因此你只要花时间去熟悉语言技巧本身就好了。 我当时用的书籍呢,叫做心口必知必会,是非常基础的一款,同时还推荐心口进阶教程。我自己呢,是比较推荐看书的,因为这样效率会更高吗?并且你如果之后有问题,就可以像查阅字典一样,打开这些书籍去随时进行 一个查阅。那如果你不想看文字,想跟着视频学习,我比较推荐 b 站的漠视大叔。其实我觉得 b 站上面任何已有的其他的一些学习视频都可以, 因为我一直是觉得这只是一个途径,只要观看这个视频的人数多,那就不用去纠结他到底是不是最好的,只要你肯跟着学习,不可能学不会啊,重点是一定要付出时间和努力,这才是最重要的, 那很多人就是停留在找资源的第一步就结束了,那么第三步呢,就是练习了。首先我认为练习呢是最重要的一步, 并且呢,我认为你在学习了一定的修口语法后,就可以开始练习了。第二步和第三步是可以并行的,并不是掌握了所有的语法后才开始练习哈,一定是边学边练,因为你光是看视频或者书籍,你以为你自己学会了,其实没有实操,你始终只是懂一点皮毛, 而在练习中遇到问题,然后去找办法解决的这个过程更能帮助你记忆。那么在哪些地方可以进行练习呢?其实有很多,那主要是纽扣网和累计扣的这两个网站,那对于我自己来说呢,我就只用了纽扣网,我觉得对于我来说也是足够的了。纽扣网刷题呢非常方便,也不用去下载软件,可以直接在线编辑, 里边呢就会有答案,和其他人的讨论是非常推荐。最后呢,我还要再次强调练习的一个重要性,我真的觉得你没有练习过,只是看过书或者视频,是永远不配说自己学会了随口的,因为这样你永远都无法真正长,我必须要上手练习, 那上手练习还有一个好处,就是你通过刷各种题能够学到,或者遇到通过看视频以及书上没有遇到过的语法,那么在练习遇到问题的时候该怎么办呢?我的经验是真的不用慌,有问题就百度,在我过去写思考的经历当中,我 的问题都能在网上搜到。同时我强烈推荐一个论坛哈,叫 s a d n 网站,那里边呢,有非常多的讨论,几乎各种问题你都能在里边找到全面详细的解答。 那以上呢,就是我自学修口的三个步骤了,希望能够帮助到大家。大家有什么学习的问题呢,可以随时跟我留言,这是我分享的第一个视频,后续我还会给大家分享关于求职、学习书籍或者 vlog 等各种视频,关注起来一起变优秀哈, 拜拜!

哈喽,大家好,我是冷凡社长,今天使用另外一种方式给大家讲解一下这个 cq 的直音顺序,所以我们今天视频主题呢就是 cq 的直音顺序。我们现在所说的这个 cq, 它是基于标准的 sql 语法的, 那这个标准是什么意思呢?他的标准是在这个下面标准的一个委员会进行维护和更新迭代的。早期比较出名的呢是叫 cq 九二标准,那下面就是出到了 cq 九九, 然后后面呢又更新了一个 c q 二零零三,然后它不断的更新迭代到最新的 c q 二零二三。 比如在 cq 二零零三中呢,就加入了窗口函数,然后他每隔三到四年就会更新一次。 cq 的语法呢是非常多的,作为我们业务数据分析师的话,我们更加的专注 注在他的查询功能上,那我们今天所讲的呢,也是基于查询的 cq 语句的执行顺序。那想要听懂这节课呢,需要对提到的所有关键词的作用有所了解,适合已经入门了的同学。 那下面呢,市长就用一个实际的题目来给大家讲解这课的执行顺序是如何的。我们的题目是求参加了两门以上考试的学生名单,以及他考试的数量,并且要求指定的课程为 零一零二零三,也就是说,也就是说只看他们在零一零二零三这个课程中的考试情况。这里我们会用到两张表,一张表呢是学生表, 会放入学生的信息,比如姓名和班级等。另外一张表呢是考试的成绩表。了解这些之后,我们就正式开始,首先社长已经把得 得出这个答案的语句写了出来,到这里大家可以先暂停思考一下这个语句是如何实现的。我们的题目无论你是否想的清楚,你都要先把这个语句熟悉一下。然后社长呢一步步的来看他是如何执行并得出结果的。首先 cq 的第一步呢,是从 form 开始运行的, 也就是通过表开始运行的,我们第一步运行了什么呢?由于这里我们是进行了表连接,有两张表,所以他其实第一步是进行了对两个表进行求迪卡尔吉。什么是迪卡尔吉呢?比如说我们有一张 a 表,它里面有 a 和 b 两行数据,有个 b 表,它里面有一和二两行数据,他俩得到迪卡尔级就会是 a 一 a 二 b 一 b 二,就是把他们所有的组合可能都会出现,也就是说迪卡尔级的结果会是 a 的表的行数和 b 表行数的成绩。如果还没有听明白的,可以自己搜出来这个关键词理解一下。 第二步呢是我们的二二是什么意思呢?它其实是两个表进行的这个条件匹配,比如我们这里指定了 t 一的学生 id 等于 t 二的学生 id, 所以呢他就会把 id 和 id 进行匹配。我们假设进行完一之后,他生成了一张新的虚拟表, 那他会对这个新的学习表唯一进行筛选,把符合了这个条件的留下,得到一张新的表 v 二。第三步是这个 left, 由于在第二步他取的是一个交集,所以说有一些我们需要的数据呢,他可能也被筛选掉了,所以在第三步里面 把被过滤掉的,但是就是我们需要的东西再加回到表里面来得到 v 三,到这呢就是我们已经进行了三步运行,分别是 form, on, left。 其实在这里面呢,并不是十分的好理解,那社长可以建议大家呢,就按照我们正常学习 cq 的时候所表述的来理解他就可以了,就比如现在的这个 form left, 装啊,他实现就是假设有一张左表,一张右表,然后我们所根据的他们的关键词是 学生的 id, 根据这个 id 呢,会把右表的数据匹配到左表,这是左面的表,这是右面的表,他会返回这部分的数据,但是他们的执行顺序就是市场上面所讲的。那他第四步呢,是进行 vr 的运算,那对刚才形成的 v 三表再进行一次筛选得到 到了这一步,我们的两张表已经合并了,并且按照他们的连接和筛选的条件进行了过滤,得到了新的表 v 四,那这个时候呢,要进行分组的运算,也就是我们的 goproby 的运算,然后他会得到一张虚拟表 v 五。这里需要注意的是, 虽然分组之后呢,比如有多少个学生就会有几行,就比如说我们之前的表呢,是底层的一张表,现在进行处理了之后呢,他又被提升到上一层,也就是 google by 后面形成的表。 这张表呢,他除了包含没有有多少个学生就包含多少条数据之外,他每条数据就关于这个学生的信息,就是这个组的信息都是被保留着的,就比如你这时候要求每个学生参加了几次考试,用矿的心 他都是可以求出来的,原因就是他保留了这个组的信息,搞破坏之后呢,就是第六步。第六步我们就是对这个分组的结果进行筛选,就来到了 hunting 这里。 筛选过后之后会形成一个新的表 v 六,那这个时候呢,才是进行的这个 left 运算,然后他把之前的所有的运算结果呢会打印出来, 形成一个 v 七, v 七有了之后,他会接着运算这个驱虫。由于我们这里有了 gop, 已经分组了,所以说驱虫在这里是没有起到额外的作用的,但是他确实是在这个位置进行执行的, 然后返回一张虚拟的背吧表,到了这之后才接着进行我们的排序。在排序这里呢,他不再形成新的虚拟表,而是用一个有标的方式来表示他的这个顺序。同时呢,在这一步也可以使用 我们 select 里面提到的表的别名,比如说我们提到的这个在排序之后,最后是我们的这个灵敏所限制的语句反馈最终的结果。这就是一个我们非常常见的 c q 语句的执行顺序。虽然说我们的书写顺序是按我们正常所学的内容,但是它执行的时候呢, 并不完全遵循那个书写的顺序。但如果你仔细观察的话,他大体的框架呢,还是遵循了这个我们书写的顺序的。只不过说我们最终展示的时候是 left, 这个时候他是放在后面执行的, 他是需要把所有的运算关于我们这个集的运算都执行完成之后才能打印出来。打印出来呢,他是一个结果集,结果集,比如我们要排序,我们要在这个结果集上显示一部分内容,然后再进行后面的 这两步操作,这个时候摄像再给大家补充两点。第一个问题就是我们很多同学在进行这个条件筛选的时候呢,分不清奥和威尔的区别,尤其是在进行表连接的时候呢, 认为认为用威尔也可以进行表连接的条件筛选。那上到这里简单给大家说一下,如果是用 on 的话呢,他进行第三步的时候,会把一些我们需要的,但是他又被过滤掉的数据呢,重新加回来,放到 v 三里面, 如果用 wire 的话,用 wire 他就会是在第四步执行,他会根据你的条件直接把这个表进行筛选,也就是说他并不会补齐你的某些数据,所以在这种情况下 可能会产生遗漏部分数据的情况,如果你没有深刻的理解的话,就可能会产生错误。所以社长这里的 建议就是,如果你的这个条件是一个连接的条件,是两种表可以合在一起的条件。这种啊,如果你这个条件呢,是一个筛选的条件,所以说他并不是个连接的条件,他只是说我想从结果集里面 去掉某些东西,然后荣威啊,这样的话呢,基本可以避免错误。第二个补充的点就是这里我们列的两张表是学生表和成绩表, 只有两张,如果说有第三张,比如说加了一个第三张 t 三的话,那它是个怎么样的执行顺序呢?按社长的理解就是它第一步还是从 form t 一和 t 二表按这个运行,一直到第三步形成一个 v 三表,然后 v 三表呢和 t 三表再重新走一遍这个运行的步骤,得到一个新的表。如果 你有很多张表,然后就循环走这三步,走完这三步之后呢,四步统一的交给你的筛选逻辑来进行筛选。也就是说,如果是很多表连接的话,他在循环执行的前面三步,然后第四步进行条件筛选。还有一些同学说,呃,我们有些只查询, 比方说 form 里面有张表的自查询,那肯定是先执行内层的,然后再执行外层的。第三个要补充的呢,就是窗口函数,我们这里人呢,并没有提到窗口函数,我们窗口函数一般在的位置呢,是这个位置,他一般的标志呢是 over, 那他执行的时候呢, 我大概在这个位置,所以我们的窗口函数呢,他是一个比较高阶的函数,也就是基于我们的运行结果进行再次运行的这么一个逻辑, 他是基于运行结果的运行结果,但是呢,他并不会更改这个运行结果的这个结构,他只是会对运行结果,比如说增加一些内容,增加一些新,增加新的计算力, ok, 这就是逻辑上的 cq 的执行顺序。在后面我们还需要继续明白几个概念, 帮助我们更好地理解 c q 的这些顺序。首先前面我们提到了 c q 是一个标准化的语言,它 可以用于管理关系型数据库,那么每一个数据库呢,都是基于标准的 cq 语法来实现的查询, 比如说我们常见的一些 mercique, oracle, 还有什么 d b, two, secure server 等等,他们都是基于标准的 secure 语法来实现的查询。但是不同的数据库呢,会有不同的实现方式和特性。比如在 mercique 中,他到 八点零版本的时候呢,才开始支持窗口函数,那如何理解刚才所说的话呢?就好比说 cq 就是指我们的汉语,那每个数据库时间的查询呢? 就好比我们的方言,汉语,汉字是通用的中国话,那这些呢,就是不同地方的方言,他虽然表达了同样的意思,但是呢,他有不同的实现逻辑,不同的表现方式。所以在实际中,这些数据库实现执行顺序的逻辑和标准的逻辑呢,并不一定一样, 应该说基本不一样,但是他们都会得到同样的结果,所以他们无论怎么说,他们都保证了一个叫结果一致。那么他们不一样是因为他们真实的在我们的电脑上会进行的逻辑的运算,他需要考虑性能各方面的原因。所以刚才所说的 顺序呢,是为了帮助我们可以学习并得到正确的结果。而在实际过程中呢,对于我们业务性数据分析师来说,是不需要关注数据课底层是如何实现的,帮我们来查询这条语句的,因为不同的数据库会有不同的优化方式,那在这个时候呢,他的实际执行我们就叫他是物理的, 也就是现实中发生的。比如刚才语句,如果在买车库的实际执行中,他的实际运算顺序呢,只会先扫描 t 二表,然后呢根据 t 二表放入我们的筛选条件,得到新的表,然后再扫描我们的 t 一表,然后将这两张表进行 聚合,聚合完成之后呢,就是我们后面的分组,分组之后得到一张新的表,然后再进行我们的汉文的筛选,然后是排序,然后 排序,然后是筛选,最终得到结果。基本上大体的运行逻辑是一样的,但是细节上呢,可能会有不同的方式。 ok, 我们来简单的总结一下,我们今天讲的主题呢,是基于 cq 标准的查询和执行顺序。前面讲了很大篇幅的内容呢, 是基于标准语法的逻辑查询,也就是说无论什么样的数据库,他最终呢是要根据这套查询的逻辑来得到同样的结果, 但是在实际数据库执行的时候,就是物理情况下执行的时候,他会根据自己数据库的特性来进行优化和执行, 但不影响最后得到同样的结果,这个一定要分清楚。好,以上呢就是我们这个全部的内容了,像今天讲的这些内容呢,都是通过公开的信 学习的,关于非常标准的出处呢,身上并没有找到,虽然我看了 cq 的标准的那个原件,但是都是英文的,也非常的复杂和多,也看不懂,所以说如果关于 cq 执行顺序有比较准确的出处的话, 可以和我沟通一下。另外就是对于业务数据分析师的我来讲呢,对 c 口和数据库的底层呢,都了解的非常的少,平时比较关注的是它的实际效应, 这些视频有讲的不对的地方,希望同学们可以指出,并附上解释的来源。好的,今天的视频就到这里,希望今天的视频有帮大家理解到随口的执行顺序具体是怎么样的。如果觉得摄像讲的不错的话,欢迎给摄像点赞、收藏加关注,那我们下期视频再见。

你知道在 circle 当中怎么样去创建一个制定一函数吗?今天我们一起来操作一下。 ok, 今天我们接着讲 circle 相关的内容,在上一次内容当中呢,我们讲到了 circle 的这个概念和分类, 这是我们上一次试课的内容,那么今天我们要来讲什么呢?我们要来讲具体的这个函数的这个操作,我们要讲标量值函数的创建和调用,那么语法是什么呢?关键字,首先我们要知道关键字 关键是方形,然后他的语法是科瑞特,一个创建一个函数,后面跟上函数名称一对括号,然后呢,后面是参数是可有可无的,可以有也可以没有,然后是对特认识,后面跟上返回指的数据类型阿日, 后面跟上 bgnen 的中间写业务逻辑的收口语句必须要有蕊称,蕊称一个变量或者是一个特定的值,这是他的一个基本语法。然后呢,我们按照这个语法去套我们这个实际操作,我们要干什么呢?创建一个 函数,由于我们这个函数的参数是可有可无的,所以说我们创建第一个函数是创建一个函数,且这个参这个函数无参数,没有参数,那我们要怎么去创建呢? 放心啊,我们要创建一个函数,那我这个名字呢,叫做 fm 一无参数,说明我这个括号 里面是没有纸的,是没有纸的,是吧?然后呢,这个时候呢,我们要干一件什么事情呢?嗯, 对,测试,我们要返回一个什么呢?返回一个呃数值,比如说我们要返回一个嗯,叫做 硬字形的一个数字,然后一个硬字形的字, a 字笔跟嗯的,我们这个里面要写什么呢?我们要计算 从一到十的这个累加值,从一到十的这个累加值,那这个时候我们就要用到前面的内容喽,要用到 y 耳循环了,要用到 y 耳循环了,这里面我们要定一个 declier, 定一个 啊,扯,哎,一个直,然后呢?在第一个上两个啊,第一个是硬的型的,第二个也是一个硬的型的,还记得吗? st 给 给 at i 和 at some 副直,初始直,那这个时候我们要做一件什么事情呢? set at i 等于一,然后呢? set 啊,这上等于零,从零开始,然后呢?八又八又什么呢啊,这,哎,小于等于十一到十的值。 begen 的,这里面我们要干什么呢?开始计算了是吧? set add some 等于 add some 加上 i 啊,然后制作完之后累加之后 循环变亮 i 至尊一,那就是我们,我们叫 citri 等于 xi 加一啊,这就是我们的这个啊,这个计算计算完了之后呢?我们要干什么呢? 蕊春,谁呢?蕊春,我们这个爱上,那这样一来呢,我们一个最简单的一个啊,函数我们就计算成功了,是吧?然后我们来执行一下 啊的爱无效啊,这少写了一个什么呢?少写了一个啊字啊,然后我们来再来咨询一下 啊,命令已经创建成功,说明我这个函数已经存在了,我们来看一下存不存在呢?可编辑性函数啊,标量值函数, 看这个 fm 一是吧,他是一个没有参数的一个值,那我们怎么样去调用呢?这个时候调用无参数的函数,怎么样去调用 调用无差数的函数?三拉克车之前我们调用了一个类似函数,是什么呢?调用,调用过类似函数,跟着 jator 是一个类字函数,对吧?这是我们之前调用过的 gato, 他也是一个 函数,只是他是一个类似函数,我们以前已经接触过了,已经接触过了,那么我们的自定义函数的调用呢?同样 自定义函数 selector f f dmo 一,是吧?哦,这样就打就完成了。然后我们来看执行一下 不可识别的内置函数名称啊,我们看一下 dbo 点,为什么他不可识别呢? 加上我们的这个 dbo, 为什么要加 dbo 呢?因为 dbo 代表是当前这个酷,当年这个 数据库这个这个对象,所以说呢,我们要直接用 dbo 去找到这个对象,因为如果是直接调用的话,直接调用他代表的是什么呢?直接调用代表的是类似函数, 直接调用代表系统自带的 类似函数。类似函数,这个时候我们看调一下,就跟刚刚错一样的,你看他就提示不是类似函数名称,这个时候我们就需要加上一个 dbo, 现在我们不要去理解这个 dbo 到底是什么,在后面呢,我们会讲到这个啊, dbo 的这个,这个是这个啊,用法以及它的含义,它代表着什么?后面专门嗯,抽一节内容来讲,这是我们的制定一行 无参数的自定义函数,这个调用,无参数无参数调用,那么如果是说我们代参数的呢?接下来我们创建一个代参数的,创建一个代参数的, ok, 我们把这个复制下来, 创建一个带参数的,创建一个 带参数的函数,那这里面我们把它改成 fm 二,那这个时候呢?我们要里面,里面要带参数了,这个地方带参数要怎么写呢? 我们上面的是什么呢?上面到这里面写了,就只写了一个参数,那我这个参数我要带这个参数,我应该,我应该怎么样去用? 那这个时候我们就要开始写到了,是吧?怎么样去穿点参数呢?比如说我要用一个硬的写的参数 at, 那这个时候呢?我要改成一个 atta 啊 number, 这个用来干什么呢?用来啊,纯属我的这个累加值,从一加到多少的一个累加,它是一个硬的型的,那这个时候有的呢?我就要拔什么呢?我就要把我的这个啊扯, 我就要把我的这个十改成我的这个阿特纳闷,把这个十改成阿特纳闷。计算一到阿特纳闷这的这个累加值,那这个时候我们来看一下,我们把它重新再再执行一遍,这是第二个函数喽。 fm 二楼执行命令执行成功,拿这个时候买去吊用带参数的自定义函数,怎么去吊用呢? bbo 点 fdm 二,他要参数,那这个时候呢?这个时候呢? 用户字句和他对么?二,这样他之后我们来看一下,这个是一,这个是二,那我们要给他传一个参数,他需要一个硬的型的一个字,我们给他,给他一个十,那这个时候我们来咨询一下 五十五,那如果我给他一个一百,他得到的只是什么呢?他得的是五零五零,我给 给他一个五,他就是十五,那这个就是我们的呃,带参数的自定义函数。那么以上内容就是我们今天要讲的这个十二口的这个,呃,创建一个函数怎么样去调用?怎么样去创建的一个内容,你学会了吗?