00:00
呃,那么这个是已知两个表,一个表的话叫SQ音号,是不是叫做学员信息表呀?哎,这个里边的话呢,保存了学员的一些基本信息,另外还有一个表叫做年级表,年级表的话保存了年级的信息哈,其中学员信息表里边有一个字段叫格瑞的ID,那么它引用了我们年级表里边的是不是ID字段呀?哎,那么这这这个里边肯定会有一个关系啊嗯,那好了,知道这个之后呢,我们再看第一题,那么关于查询邮箱的用户名,这个肯定是不是就是在学员信息表呀啊,然后邮箱在这儿,那他的用户名在哪呢?那对这个地方也给大家备注了哈,那么对于一个邮箱来讲,那么用户名的话,那也就是在是不是艾特前面的这部分呀啊,我们称为用户名啊,那所以说这个地方应该会用到一个函数吧,这个函数应该叫做是不是截取子川呀,截取子转应该是哪个sub string,对了,很好哈,那就是select。
01:00
我们subt string sub string,或者说你把它写全了,就这么写也行哈,啊,或者说简写substr,然后把我们的email扔进来,呃,光写一个参数是不行的,对吧?哎,那么我们得再继续去加,这应该是哎,零还是一一对吧?因为我们的这个MYS中这个缩音是从一开始的,呃,然后这应该是写,是不是应该写那个长度啊,对吧,写那个长度,但这个长度是不是不一定呀?哎,不一定大家怎么写的?呃,是不是就应该用到了我们另外一个函数EST啊,还记得吧,这个是来获取某一个字符或者某一个子串在这个大的字符串中的索引啊,呃,那这怎么写来着?先是把是不是email扔进来,呃,然后你要获取谁的索引,是不是获取这个艾特的索引啊?好,那这么写还用加一减一之类的吗?来看一下,呃,比方说。
02:00
以它为例吧,这个艾特的,所以应该是五是吧,是五吧,然后前面的长度应该是四,所以说我们这个应该是在ES tr基础上减一好了,那么这个的话就是我们的用户名,我们跟他可以起一个别名哈,用户名,然后再from我们的呃,S to in放是不是完事了啊,这是第一题,呃,里边涉及到了是两个函数哈,两个函数行了,看一下第二题,查询一下男生和女生的个数,因为呢,这个表里边有一个字段代表的是性别,那么他现在呢,是希望我们把男生的个数和女生的个数列罗列出来,那最终的效果你得需要先自己脑补一下,应该是这样的一个感觉,这是萨克斯,这是不是个数啊,那萨斯如果说是男,那举举个例子,比方说是十个,如果说女的话呢,假如说是五个是不是最终的效果长到这个事的呀,对吧。
03:00
啊,那么很显然他应该是说把性别为男的是不是合成一个组啊,然后进进行一个计,把性别为女的呢,合成一个组,进行一个统计,那所以说这个地方用到了分组啊,那我们应该是select的个数的话,是不是count星号啊,那么这个是个数哈,再把这个select查出来,From,我们still in for group back,谁呢?Thanks是不是这样来写啊,哎,这就没了哈,这是第二题,看做对没有,行了,看一下第三题,查询一下年龄大于18岁的所有的学生的姓名和年级名,用上了连接查询吧,啊,年龄大于18这应该是个条件啊,那么查询姓名和年级名,姓名在这儿,年级名在这对吧?哎,那我们锁定了哈,查询的字段为select name grade name对吧?那么涉及到了两个表,一个是SQ。
04:00
上一个是grade的啊,那我这样去写哈,我们用一下是不是in照应可以吧,然后是grade啊,我们请上边名,比方这个叫S,这个叫做J啊啊条件应该是s.grade的ID等于这点ID是叫ID吧,年级编号哈,然后呢,我们再去进行一个Y筛选,Where我们的年龄,年龄在哪啊,Age对吧?Where我们的A呢,大于18是不是做完了?好吧,这是这道题哈,行了,我们看一下第四题,查询一下哪个年级的学生的最小年龄大于20岁,这个应该分两步吧,最好,嗯,那么我们首先先看是每个年级学生的最小年龄啊,那所以说这个我们要分两步的话,就是先去查每个年级的最小年。
05:00
啊,怎么写呀,Select最小年龄念age,对了,然后把年纪编号,年级编号叫做哦,就叫它对吧,From我们的s still in for group by grade ID,好,那么执行完这条词后语句的话,那最终的效果长得应该是这个样子的,呃,这个是不是对两列哈,一个是格瑞的ID吧,嗯,还有一个是不是就是那个最小年龄啊,最小年龄那有可能一号年纪最小年龄十岁,二号年纪最小年龄,比方18岁,是不是这种感觉呀?哎,你得脑补一下哈,然后呢,我们再去看第二步啊对了,第二步就进行在我们是不是一的结果上,是不是在一的结果上筛选呀?啊,在一的结构上筛选,那很显然应该是把这条语句呢,我们先拿过来,然后在它的结果上筛选,是不是应该用having啊,Having。
06:00
后面我们再去加,呃,最小年龄m age大于20是不是就做完了这样来写哈,所以说最终的这条搜狗语句的话就是这一步啊。然后行了,看一下第五题,呃,第五题就是一个总结性质的哈,因为到目前为止咱们DKOL语言,也就是查询语言,是不是基本上说完了就差一个了,就差哪个了呢?是不是联合查询啊,就差联合查询,那刨去联合查询呃这个之外的其他的查询我们都说过了,那么涉及到关键字咱们可以想一想哈,好,首先基础查询的话,我们就是直接是不是select的呀,Select的后面是不是加上我们的字段,跟着来想哈字段名啊,咱们这样吧,就直接写一个查询列表对吧?哎,然后from,这是from字句吧,From后面是不是我们去加表呀?呃,当然我们可以连接查询,那么就会去加是不是照呀?呃,当然你也不一定是inner Joy,有可能是左连呃,右连等等,对不对?那我这儿呢,就写一个比方说连接类型好,然后再去加照音,后面加是不是另外的一个。
07:15
表呀,表二,然后二是不是加我们的连接条件,然后呢,Where where是先加where吧,Where是不是筛选条件,然后group by,呃,Group by是不是分组的这个列表呀,呃,然后是谁having对吧,后面我们去家的是谁陆宽站一会儿啊,这是大早上坐火车刚来是吧?嗯,Heavy,后面我们再去加谁是不是分组后的筛选对吧?呃,然后是谁order by非常好,Order by,哎,然后这个是是不是排序列表呀,还可以再加吧,Limit学了对不对?Limit是不是就是限制的这个东西啊,哎,那么我们这比方说limit是不是条木数啊啊条木数,当然我们前面也可以加一个偏移啊,偏移啊或者。
08:15
就说起止的索引都可以,目前是不是就学到这儿了啊,当然有子查询,子查询的话就不放里边了,对吧?啊好,那我们就看这一条这个完整的查询语句啊,啊,那这条完整的查语句如果说是手写的顺序,就是按照我这样来写,先写select,再写from,再些连接,再写二,然后where group by having order by limit,没问题吧,这是我们书写的顺序,那么假如说要是直行的顺序的话,它不一定是这样的,对不对?执行的顺序咱们一起来过一遍哈,先去执行谁?对了,先去执行problem,这是第一步啊,这是第一步,然后是执行谁啊,那再去执行的是不是就是跟另外一个表去连接呀?好,那么咱们在这说细一点啊,就是当我执行完第一步之后,是不是就相当于把这个表就生成了一个虚拟表,也就是说锁定了什么数据源呀,哎,这个数据源锁定了。
09:15
然后接下来呢,它将呃执行这个照引,那么这个就是第二步,执行完这个照影之后,就相当于两个表是不是连接起来了,连接起来了之后就形成了一个笛卡尔乘绩,是不是一个大表啊,可以这样去理解吧,也就是走完第二步就是一个大的一个结果,这个结果就是咱们所谓的是不是笛卡尔乘积啊,呃,这是没有经过那个连接条件的,对不对,这是一个大的数据源啊,你可以认为也是个虚拟的大表,好再往下走,接下来第三步呢,就是二,对不对,哎,就是二,那走完这个二之后,就是在刚才那个低开尔成绩基础之上,哎,是不是进行了一个筛选呀,相当于啊,那么将这个满足连接条件呢,是不是过滤出来,形成一个新的虚拟表,能听懂吧,形成一个新的虚拟表,也就是它每一步都会生成一个虚拟表的,在它的这个底层,然后呢,我们再往下走就是YR了,哎,然后在刚才三的这个虚拟。
10:15
表的基础之上,哎,我们再进行筛选,是不是形成一个新的表呀,啊然后接下来我们再去走是不是如BY啊如BY哈,这是第五步,好,然后进进行一个分组,分组完之后是不是生成一个分组后的这样一个结果集啊,其实也是一个是不是虚拟的表格呀,啊好,然后再继续我们再去对这个结果集是不是可以进行筛选呀,哎,这是第六步是吧?嗯,这个是五六是不是这样去写好,那走完这一步之后,其实也会有一个新的一个虚拟表了,这个时候我们就可以干嘛呢?哎,Select的它走的是这一步,这个要注意,也就是走完having之后,它没有往下走,它是不是走的select的子句,哎,其实也就是将我们的这个having完事之后的这个虚拟表是不是去怎么样呢,选出了一部分,也就选出哪一部分,是不是你要查看的部分呀,哎。
11:15
哎,那这一部分其实也是个虚拟表,然后把它打印出来,是不是这种感觉,把它打印显示出来啊,啊也就是这个表格现在是六,然后在这个基础之上,我们选择了一部分是不是显示出来呀,啊它这样的一个意思,好然后呢,我们再去干嘛呢?是不是进行一个排序啊,啊再进行一个排序,这是八了啊排序啊排序的话它是针对的是不是七呀,对,在这个表格的,在这个虚拟表的基础上进行一个排序,排完序之后我们在干嘛?啊,是不是就是进行一个分页显示哈,进行一个分页,好,这是它的执行顺序,这是它的执行顺序啊要搞清楚了,那每一条子句它都会生成一个虚拟的表格,它都会生成一个虚拟的表格,行吧,这是关于我们测试题里边哈,呃,涉及到的几个知识点,呃,那么大家也发现了这几道题的话,它涉及到的呢,不仅仅是我们。
12:15
那上一次课呃,新讲的也包括是不是关于函数和分组啊,就是一个比较综合性质的哈,不会的呢,课下的话再做一遍。
我来说两句