00:00
说下面那个啊。咱们先搞下面这个。查询青铜阶段开设的课程。咱的目的是不是课程啊,你先把这个课程表先搞出来瞅一眼。OK,这就是所有阶段的课程都在这儿了。但是咱们得知道青铜阶段是哪个阶段,那这张表中涉及到阶段的列就是最后这个列对吧?最后这个一呀表示第一阶段,二表示第二阶段,那我根本不知道一是青铜还是二是青铜,所以咋办呢?我得先知道青铜的编号是几对不对。找青铜的编号,那涉及到你看这个这个列哈叫格的ID,那那其实咱们这个表就是格的表。OK。知道青铜是什么了吧?对吧,青铜是不是一呀,那其实呢,下边这句话就完全可以这么写了,就是格瑞的ID。
01:03
T等于是不是一目的就完事了?这个事完事了。但是这个。题目中。并没有告诉你一是已知条件,而已知条件是什么呀?是青铜是吧,所以这还涉及到一个他俩合二为一的问题是吧。我得先查询出青铜是几。所以这么搞,Where name等于青铜。那我现在能把这个语句啊,直接放到这个位置吗。能直接过来吗?不可以,为什么?因为你上边这个语句查询的是星。星代表着好多个列的值,对吧,而我要的是不是什么?就一个数字一啊。哎,换句话说,咱说的直白一点,我这块要一个格位ID,那么你上边这个语句最终的结果就是要一个。
02:00
的。对吧,就要一个所ID好了,来把它放在这写完了。就是这样的,这个简单一些是吧。就是二合一。咱们再看。这个稍稍复杂一点。他说查询最近一次这个这个这个课考试的成绩的学生的最高分,最低分。这个语句啊,你看啊。你看我怎么写的哈。我一看到这样的需求的时候,我就我首先确定他要查查。他查的是什么,最高分最低分吧。然后再给它加形容词。就比如说我吃苹果,咱吃的是不是苹果呀。然后呢,我在优雅的。剔着牙着,喝着茶,躺着。在吃苹果,再给他加这么多形容词对吧?哎,这个形容词在咱们词后语句中其实就是这种,哎呀,最近一次啦,科目名称了。
03:00
这种条件是吧。好,先把最高分最低分求出来。查询最大值。OK result。最低分。Student。来自于。成绩表。这就是咱们的最终目的。一个100分,一个15分,那接下来我要对这个结果是不是加条件就是。加形容词啊。什么形容词呢?首先这个最近一次不知道怎么搞,咱先搞这个。科目是吧,那这个科应该是几呢?这应该是几。查一下呗,是吧。跟科目名称相关的表,那就是。表。然后我要条件是什么呢?根据科的名称查询科目的是不是ID啊。其实是二就能搞出来了是吧,所以这块直接写上来呗。
04:03
条件为因为太长了,后边会写很长,所以我这块回个车。科目编号等于二。OK。你看。不是15了吧。所以现在这查的是什么。现在这个呀,查的是第二科目的最高分最低分。对吧,还差一个形容词什么呀。最近一次是吧。那这样我先把啊这样复制过来啊。先咱别管最高最高分最低分的事儿,咱先把数据全显示出来。这个稿子是不是第二科的所有数据都在这儿了?但是第二颗这个所有数语看都是第二颗吧。这所有的分吧。就在这个列里面找最大值最小值是吧,但是条件是看这。
05:00
哎,时间是不是有两两种时间啊。我要求最近一次啥意思嘞。最近一次是不是就是这个数值,数值越大。离咱们是不是越近啊?那也就是说我要先查日期的最大值,OK。看好了啊。我再复制一遍。把这个复制一遍啊。这个查询的是第二科目的所有信息。而我现在要查的是。我写入市啊。D。二和木。第二科目的最近。日期。看好,我要的是第二科目的最近日期,所以这块直接使用最近最大值呗,Max里边扔谁?EXOK,好,这就是最近一次日期。
06:02
对吧,最近最近一次日期。好了,这个已经查出来了。然后这个是星是吧。那我在这块看好了啊。这个是第二科目所有的信息,对吧,接下来我要把。考试日期是不是得加上了?我要把这个考试日期加在这儿,那你再看。第二科。最近一次。所有信息是不是就完事了?把这个一改最大值最小值是不是就结束了,因为这两个条件咱们已经加上了。好,接下来咱们就对这个代码,就这个测语句基本上结束了啊。接下来就是把这些。未知的变量就是咱求出来的变量,是不是改成已知替换一下啊。来先说这个二,好吧,先说这个二,二哪来的?
07:01
二是哪来的呀?这个删了吧。是不是这个这个查出来的,要根据这个名查这个二吧。所以条件是科目的名称等于这个。然后诶。然后查询的是。对吧,好,我要的就是这个二。我要的就是这个二。好,这是第一个啊,这查询的是什么。查找。好了,那这个ID也就是说二有了,咱们往下边往这里边组合是不是就行了。我这组我看好了啊。首先这句话就是这个二,OK。把它粘过来。OK。这个是不是粘完了。好,接下来日期这个事儿了,日期这个这个语句在哪儿呢?是不是整个这个玩意儿啊。
08:06
这个东西你看是不是不就返回了这么一个日期吗。好了,把整个这句话再粘到这个,诶,这个这。复制啊,别剪切。站在这个位置。OK,然后呢,咱执行一下看啊。查的星是吗?所有数据是吧,所有数据。然后呢,这个茶咱们要什么?最高值最大值最小值是吧。Mark's student resultin。Student result。好一些。四十五四十五刚才看到了吧,因为这一这一天考试是不是就一个人啊,所以最大值最小值是不是都他呀。好,这是咱们要的最终的结果,但是这个语句写完了吗?没有啊,因为这是咱们的最终结果吧,是不是还是有未知条件啊?
09:06
OK,这个二是啥来着?是不是这个呀。把它。再搞过来。这个语句写完了。这就是完整的这个语句。这就是这个完整的这个语句。必须得加那个max啊,这个叫最后一次。这个叫最后一次。啊,最近一次啊,最近。这个咱就搞定了。这个写个分割线啊,也不知道哪个是哪段。把它放在这儿。这是第一步,这是第二步。
10:11
好了吧。再来一个因子查询还是子查询啊,接着说。咱就把这个搞过来就行了。这个一段一段的有分析哈,我就给他写过来哈,好,咱们先看一下PPT哈。这个余写在这了啊。好,这样呢,我直接把这个语句写出来吧,先写这个啊。呃,咱就别读那个了啊,他说加入SE课程不及格的学生名单,学生名单我要的是什么呀。
11:02
张三李四王五对吧,哎,我要的是名字啊,是名字。你就这么写,我要的是学生的名字。呃,Student name是吧?来自于学生表,条件是啥玩意儿?暂时不知道好吧,暂时不知道。哎,咱把这个别先别暂时名了,咱先星好吧,最后改呗。好,这是我最终要执行的这个语句。再看这个条件的事儿。首先啊,我要查询的这些人名啊,是什么什么人呢,是不及格的。对吧,好,那我就查查不及格的信息呗。Selection from。不是这个result表是吧。条件是成绩。小于。60。啊,这些呢,都是不及格的。但是这些不及格里边啊,你看有有第二科第八科,第三科第四科,每科是不是都有啊。
12:02
而咱们要求的是不是有要求啊,要求的是不是加入SE啊。那我得把这个加上啊,那加入SE到底是第几科啊,我是不是还得查询一下。加va SE的科目啊。条件是subject name等于Java SE。其实是一大家都心知肚明对吧,但是你得给他写上啊。Subject。好了,条件是不是有了,这个是什么来着。不及格的,比如不及格的信息是吧,OK,再加一个条件。什么?哪科不及格了吧?ID是不是等于一?OK。考第一科不及格了,这几个这这这这些值,然后这些这些人的学号是不是他呀。
13:00
对吧。好了,那咱再回到第一个查询上,我要查询学生的姓名对吧?条件是啥呢?有学号是不是就知道他们都是谁了?有了学号了吗?咱们把这学这个。这个其实往上边这一放,是不是就结束了。把上面一放就结束了啊,来把它放上来。学号。对吧,等于。往这一站。这个直行的看再看一遍,它这里边儿是不是有学号啊,但是你这是星能行吗。我前面用什么东西等于你这个值啊,等于你这个结果集啊,是不是学号啊。所以里边这个子查询最终的返回结果应该也是学号这个列吧。所以把这个星换成什么student no啊?好,里边这个返回的就是学号了,好外边的条件呢,也用的是学号进行比较了,好这样就能行了吗。
14:09
不行,还是报错。他这回再犯什么错啊?单行子查询返回多个行。啥意思?是这个意思,你看啊。这个里边最终它返回几个值啊。一个两个三个是四个值啊。而我外边这个条件说你看等号吧,那你里边四个值,我等于它。还是等于它,还是等于它呢?一个一个变量能同时等于四个值吗?不能吧?所以想到什么关键字了。北上广还记得那个案例吗?对吧,地址是不是用in来在里边进行北京上海广州啊。所以。用等号换成in。
15:02
用一个变量。匹配。多个人。记清了吧,这块用in啊,好,结束了。就是这四个哥们。当然咱要名单啊,要名单这块是不是得改成。内部。这是他们一个。就上这四个。好,接下来再把这个一换成啥。这里边告诉你一是什么了吗?没有是吧,哎,他只告诉你加入SE了,所以这个一是啥来着,应该把这个语句。搞过来吧。删掉括号。来,粘进去。这就是咱们这道题。这道题的考点子查询什么的子查询。用in这个关键字做的字查询。好,最终结果就他们四个。就他们四个。
16:01
好听清了吗?好听清了是吧。
我来说两句