00:00
我现在我在刚才写了这么多语句中,你会发现我这些就是带小括号的吧。带小括号的,你会发现我这些子查询是不是都在where这个关键字的后里边啊。每一个都是看着,每一个都是where,然后查询,每一个都是where X查询。除了where后边跟子查询之后啊,还有。还有啊。Having。后面的子查询。还有还有,等会儿咱们再写吧。还有from,这俩就合合二为一吧,后面的子查询。还有这两种分类呢啊。咱们以上讲的都是where,但是以where作为最经典的子查询,它用的是最多的,好吧?那这两种后边写紫砂鱼应该怎么写?来看我的。啊,比如说咱们写个需求,用需求说话啊。
01:03
啊。查找。查询。部门。中平均。工资吧。平均工资大于32号。部门平均工资。的部门信息。能读明白啥意思吗?其实显示的啊,咱显就是最终要要求就是显示。部门编。和和吧。和平均薪资啊呃。哎,公子都说工资了,薪资什么呀,工资啊。你看我这写的什么,查询部门中平均工资大于32号部分平均工资的部门信息。
02:00
啥意思啊?首先咱们要查询出32号部门的平均工资吧。好好查一下。查询这个这个平均工资。Avg是吧?Salary。From。员工表。但是问题是。哪个部门的平均工资?说了32号部门吧,我都不知道有没有值啊,查一下啊。呃,部门编号。等于32。有是吧,比如说32号部门的平均工资是1490。那接下来再看什么意思。我就是要找一个找部门,找什么部门呢?这个部门的平均工资就是大于1490OK。就是比1490工资还要高的部门吧。咋写嘞,这么写啊。查询,你看我这要求什么。
03:00
部门编号平均工资是吧,这样写在后边。部门编号DPT。ID。咱直接给它重命名列好吧,这个中文列啊,然后逗号隔开平均工资avg。Salary。Salary。From员工表。能执行查询吗?为什么执执行不了?因为有聚合对吧,所以一定要干嘛。这里分组啊,500。拜谁?非聚合。OK。是这样的吧。这个咱们这个语句查询的是什么,每个部门的平均工资。对不对。接下来我要对这个,这是分组之后执行的出来的一个结果,我要对这个结果再次进行过滤,过滤什么大于1490吧。
04:03
OK,分组之后的数据再过滤用什么?是了。是不是having关键字了,HAVING1490,不是不是。什么1490。平均工资是吧。平均工资要超过1490 OK,就是这个结果。50号部门最高工资那个还记得吧,他们肯定1490以上,但是现在这个1490是不是写的是常量啊。而已知条件是不是只给32部门了?所以把上面这个东西怎么弄。OK。啊,没写括号是吧。呃,这。这样的是吧。好,这就是咱们这个结果。
05:00
好,这个查询中啊,这个查询中其实。呃,分析原理呢,跟之前一样,分析就是一步一步分析,只不过它在组合的时候这个关键字了,不用where,换成了海后边跟紫查询。OK。哎,这个是having后边跟词查询。这是这个需求。好,这个having用的这个并不多啊,还是以where为主,但是有这个用法,我得给大家介绍介绍。接下来呢,就是from后边也能跟子查询了。看我啊。呃,From后边想要跟这个子查询啊,嗯,我想想啊,写一个案例。查询。嗯,查询个啥呢,查询。员工的员工信息。条件。薪资就是工资。
06:02
大于四。查询员工信息,然后这个条件是。大于1400,这个其实挺简单啊。但是啊,有一种写法,这样来写的话,咱们应该怎么写。From员工。条件为。Salary超过。1400。没毛病是吧?好,那么我现在呢,再来。哎,再来。比如说我想知道,呃,超过我再给他加形容词啊,查询员工信息条件,工资为大于一千四的查询。工资大于一千四的。所有。员工中。
07:00
五号。员工是谁?查询。这么写,查询条件为工资大于一千四的所有员工中,五号员工是谁?好,就这么查询,现在你查询的是不是一千四所有人啊,然后我对这个结果呢,是不是还想再次过滤等于五啊。咋弄?就是加个并且是不就行了。但是呢,其实有另一种写法啊,另一种写法我告诉大家。就是说我可以把这个整个这个结果,因为整个的结果你会发现这个这个语句执行是不是就是下边的整个一个结构啊。这个结构你看是不是就是一个表啊。所以呢,我完全可以把它把它听清了啊,完全的可以想象成它是一张表,假设就是X表行吗?整个就是一个X表哈。所以大家看。我查询。
08:00
数据from X表,X表。看到吗?我查询X表,然后呢。条件为。Where?ID等于五。这个语法你看没什么问题吧,来自于什么表,然后条件加ID得五,而这个X刚才我咋说来着?是不是整个这个玩意儿,咱们是不是可以理解为是个X表啊,所以咱们用到了还是等价代换,咱们把这个X1删掉。然后把整个这个语句放在这。来执行。没问题吧?是不是超过一千四这些50员工。好,它其实是有这样的一个用法的啊,有这样用法。From后边的根的子查询,其实啥呀,就是将这个玩意儿就是表明。就是一个表。就是这种用法,这种用法,这种用法啊,在咱们。
09:01
今天后边学习的分页查询中就会应用到。就会应用到。到时候咱们再详细给大家解释解释好吧。那么其实咱们简单的做一个简单的小结哈。好小结一下,小结一下截什么呢,其实子查询。子查询有三个可以。三个关键字。可以。支持。次查询。对吧,哪三个就是此查询后边关键字应该是什么?有where点点点。和having点点点,还有一个是from点点点。OK。咱们的子查询的小结就到这儿。
我来说两句