00:00
好,那我们继续来上课,那么这节课呢,我们再来了解一下我们数据库查询语句啊,叫做DQL,它主要是对数据库的数据进行查询操作,那么查询操作呢,之前我们用了一个叫做select星from,表明这个干嘛,是不是查询所有数据的方法对吧,这个叫做。查询。数据表中所有数据。对吧,所有数据啊,那么使用select星from,那么其中这个星表示什么,匹配的所有的字段嘛,哎,这是第一种方法,那么第二种方法呢,我们可以使用select select,然后后面跟上什么,跟上字段名。个字诶。字段名一啊一,然后字段名二这种方式。From后面跟表啊,用这种方式数据对吧,那当然我也可以所有也可以指定,比如说你看from。
01:08
From user,这是查询所有对不对,哎,这个新代表匹配所有字段,那如果我指定字段的,比如select,我只查ID,然后再查一个username username好from哪个表,User表,这个时候你看是不是就只有两个字段,对吧,甚至我说我查一个再查一个什么,再查一个这个age走你你看是不是仨字段。没说完,哎,那你想想,如果所有字段都写上来,比如说还有什么,还有CX啊,对吧,还有这个PWD啊,那是不是就相当于星的效果了。是不是所有字段都查出来了?对吧?哎,注意啊,最终我查询完显示的表格是按照我这块给的顺序的,看到了吗?我ID就是ID对吧?第二个username username,第三个age对应的age,第四个six对应six,到后PW对应PWB,看到了吧?哎,所有都是按照这个顺序来给的,明白吧?哎,那OK,而且大家注意我在查询数据的时候,我之前就说过,我们返回的什么,是不是返回的是查询到的行数啊。
02:06
对不对,哎,那好,那么在查询中我还可以干嘛呢。我还可以给他起别名啊,起别名这里边。叫做,叫使用爱字关键字起。别名。起别名啊OK,那咱们来看啊,Select,比如说这个呃,A。点ID。注意有A吗?这个A是什么意思啊,这个a.ID你看好了,我先不这么写,我这么写叫user.id是不是查出去user表里的ID明白吧,然后呢,再来,比如说我user.username就代表user表里的这个,然后还有什么呢?还有user里边的。那就代表优质表里的age,然后from哪个表呢,这个。User表好周NY你看是不是也能查出来对吧,所以这个user代表什么意思,是不是就是代表这不这个user点是不是代表这个表里面的哪个字段啊,哎,那现在你看好了,我select这为什么呢?我说a.ID。
03:12
然后呢?a.username然后a.age注意我有这个A表吗?没有吧,哎,From user as一个A什么意思?就是给user起了个别名叫做A,那这个时候你看我回车。是不是也这些数据对吧,甚至比如说a.a.a级,我再给他起个名叫哈哈来走你你看最后我这个是变成哈哈了,哎,我把这个A级字段是不是又给他起了个名叫做哈哈。哎,所以我可以通过艾这个语句来干嘛呀,进行起别名啊,进行起别名,好,我给他这个语句复制过来。OK啊,这就是我们的查询,那么一样查询我也可以放条件啊,那么在我们讲DML语句的时候,我用到的所有的这些条件在查询语句里边都通用啊,都通用,比如说这里边select对吧,From,然后user对吧,Where条件什么条,比如说ID等于十的,诶你看哪一个对吧?或者ID小于十的,小于十的是不是一到九啊。
04:18
没错吧,哎,或者ID怎么样,比如说ID我用in啊,In什么呀,In这个13569好走,你你看13569的数据是不是都拿拿过来了,那如果一样,我要是not in呢,Not一周,你你看是不是就二四七八十啊。所以说吧,哎,这就是咱们的这个。之前啊,我们用到的这些所有的。条件啊,我一样,我把这些条件啊都给大家复制过来啊,也方便大家课后的时候再练习。继续。
05:06
User表条件,为什么比如说ID。Between be between we没打错是吧?哎,Between多少呢?BETWEEN3。AND7,哎,三到七之间对吧,34567,那么同样这么写,我是不是也能变一个形式啊,Select星from,我用逻辑运算是不是也可以user,那where条件here是不是就ID大于。等于3AND,并且ID小于等于七的,是不是也能拿到三十五六七这样的一个数据,没错吧?哎,那OK,把它复制过来。翻过来等同。等同于什么?等同于这个。
06:02
给他。转过来对吧,哎,包括我们在看运算符的时候,我是不是还给大家用过正则呀,对不对,那OK,我用正则也来啊,比如说我想查询,我先查一遍啊from user表,那么我想查询除了。嗯。这样我想查询所有数据,除了飞飞的吧,好吧,除了IDV5的对吧?当然我们可以直接给ID,那如果我要用正则匹配的怎么办?那是不是就select。From。然后user表where条件什么条件是不是username re re匹配对吧,然后后面跟正则,那比如说我中国号易阳符除了除了什么呀,比如说除了。除了带小的吧,除了带小的,那OK,这个时候走你。呃。
07:00
一二三四五六七八九十。U e a me ESP。怎么好使啊?因为我这里没有小哦。这样的除了小梅是吧?来走你,你看这个时候少了谁啊,一二有了三四。443没有是吧,四有了五六呢,没没六是不是又没有,然后七八十九呢,九是小看到了吗?哎,他这个小梅你看小给我单独来一个梅也给我多人单独来一个,是不是这样的。哎,那这个正则肯定这么写的就不行了吧,哎,这样的话就不太科学了啊,所以这里面的正则其实跟我们学的正则也一样啊,但只是有一些是不同的,因为它里边也有它的这个规则啊,那比如说from user where条件username re。ESP。
08:01
确实是看到也有一些问题对吧,不太好用那一样RB,比如说这里边我要找谁。我不出来了啊,我直接来小,直接来小啊,好回撤这个时候你看啊。123。注意啊,这个四里面有有小吗?没有对吗?哎,那先不管它啊,先不管它,然后呢,菲菲。酶反正一二三四七八九十都出来了,对不对,那这个什么意思,其实这就是定义原原子列表对不对,任意。一个吧,哎,只要有任意一个字母,你看这些里面是不是都能包含。哎,比如说这个A有吧,I也有吧,任意一个字母对不对,那比如说啊,我就来一个。了。就来一个E的走,你来这个时候你看啊,这里面有E有E有E有E有E有E没错吧,2356。70那你看好了啊,一有一吗?没有,然后二三没问题,四也没有一对吧,五六到七也有啊,567都有了,八九是不是没有一。
09:08
然后他看到了吗?哎,那么一样,比如说我除了E的,那我直接给它加一个除号,那你看除了E以外的。除了以外,怎么一二三四五六七八九十都。有了啊,我还是精确匹配一下吧,是不是,哎,比如说除了一。除了一,我没有必要,我来个精确匹配吧,来。以它开头。以它结尾。然后中间点加。加1E开头,E开头的肯定没有啊。全都拿来了对吧,没有的话全给我拿来了,那比如说我要以X开头。哦。就不用不用这个中括号了啊,以X开头点,然后加,然后到了伏对吧,找你你看好了,这是不是都拿X开头了。
10:07
对吧,哎,这我是精确匹配的对吧,包括我也可以干嘛,比如说我就以这个。G结尾的走,你你看以G结尾就一个吗。啊,可真就一个对不对,哎,所以跟正则是一样的,我刚才是一直在原子列表里面,那肯定不行,对不对,哎,这个呢,了解就行了啊,这个不算在这里边,不太推荐大家使用,你就别想这里就在pap里边,我们是不是都说了能用字符串处理函数完成的,就用字符串处理函数完成,对吧?哎,如果字符串函数完成不了了,才考虑怎么正则吧。哎,这块我给大家记一下啊,这叫正则正则匹配,正则匹配的啊,那有人说那我们经常做这个搜索的时候啊,这个正则匹配的。怎么办对吧,比如说搜索用按用户名搜索呀,那是不是这里面用正则匹配,其实不用,我们用什么呢?用like做模糊查询啊,Like模糊匹配。
11:02
模糊匹配啊,它怎么玩的呢?它的格式是这样的。叫做will,然后呢这个字段,然后like,然后匹配的要求啊,这样的一个格式,那你看比如说这里边我来写一个啊。Select星from user表。接下来我开始给select,然后from user表,Where条件,什么条件username。Like啊,匹配匹配什么呢?我想匹配前面是A开头的,后面是任意的内容,百分号代表任意内容,OK,走你,你看是不是只能拿到一个的蜜。对吧,哎,那么一样,我想比如说我想找X开头的,那是不是就很多呀。对不对,哎,这就是模糊匹配,或者说我想找这个。呃,小。不要找小了啊,我找这个什么呢?我找黑啊,黑开头的有吗?没有对吧,但是在这里边有黑的,比如说黑结尾,你看啊百分号前面是任意内容,后面是黑结尾,你看小黑是不是拿到了。
12:10
没错吧,哎,那么一样,比如说再来你看好了,我们再把所有数据显示一次啊。Select。星from user where不需要where了,我要把所有数据先显示,就显示出来了吧,那继续啊,我们这回再来匹配,我想匹配什么呢?你看好了,我想匹配的是前面的第一个任意啊,我给个下划线代表任意,第二个是以一开始后面。随便看到了吧,后面随便好了,这个时候走,你你看第二位字母是不是都是E的给我拿到了。看到了吗?哎,也就是说百分号代表什么,在这里面代表匹配所有对吧,而这一个下划线代表什么,代表的是只匹配一个啊,就是前面有任意一个,然后中间是他,就是紧挨着后面的是他,明白吧,如果说。
13:02
Select from。Where条件,然后username。Like,这里边比如说我给了两个百分号,中间给个A,什么意思啊?只要在这个字符串中有A的出现,就能匹配中,你看。这里边123456没有啊,七八九十来看,5656叫飞飞和。美美美是吧。哎,只有这两个没有A的出现,剩下都有A的出现,是不是都给我拿过来了。这就是咱们的这个like的用法啊,那么包括比如说。在这里边我还可以怎么办?Select星,然后from user表where条件username like,然后后面是什么,比如说你看好了啊,我说前面我任意内容,诶写跑偏了啊,前面任意内容对吧?然后呢,这里边我给他一个E,然后再来个杠,什么意思,就是你任意内容后面有EE,后面再有个内容对不对,那这个时候好不错,那你看好了,我在第二位的。
14:04
倒数第二位的是不是都是以E?对不对,哎,前面你任意内容,然后有个一,后面再有个再有一位数字就符合要求了,对不对,哎,这就是咱们的这个模糊匹配啊,它比我们用正则还要好用。那咱们也一样来记一下啊,把这个我刚才写的这几个内容啊,我给大家举个例子,举例子这几个内容我给他都复制过来。然后。喂。好,还有这个。上面还有是吧,那OK把它继续。好。
15:01
基本上这五种就已经很全了,对吧,那么咱来看啊,这首先是这个。呃,百分号对吧,后面带个字的表示什么意思,查询叫做。查询。查询username username字段以以什么以黑结尾的所有数据对不对?哎,这个呢,是查询username字段开头。是什么呀,是黑后面是任意内容的数据对吧,哎,这个。然后这个呢是查询。查询什么呀,查询这个username字段中啊第一位。是任意一个。内容对吧,后面是字母E对吧,然后再往后,再往后是任意内容的数据,没错吧,哎,这个呢匹配。
16:07
A的那个呢,是什么查询。Name不是name,是user name字段中。所有不能这字段中,字段中有什么有出现A的所有数据,对不对,那这个呢是。查询。Username字段。中前面是任意内容对吧,然后后面有一个。字母E对吧,E后边。有任意一个内容,OK,这就是咱们这个通配符匹配常用的这几个符号啊,常用的这几个符号。好,这里边我再写个注意啊,注意这个下划线表示什么呀,匹配任意一个字符对吧?那么如果在字母前表示该字母前可以有任意一个字符,如果在。
17:14
字母后表示该字母后。啊,可以有任意一个任有任意一个字符,OK,好了,这就是咱们like模糊匹配啊好了,那模糊匹配我们也了解到了,接下来我们再往下看,还有什么呢?还有我们查可以查询数据表中啊,查询数据表中有多少条数据,我是不是之前给大家介绍一个count干嘛呢?是不是统计数据的这个一个函数啊,哎,它是这里面的函数,那我可以干嘛呢?比如说。Select,我可以select,我可以count任意一个字段cut,比如说我count一个星对吧,什么意思表示我就查询我有多少条数据啊from,然后U表告诉我几条,我是不是有十条。
18:02
对不对,哎,这里边任意一个字段教出来是不是都是有十条数据的,哎,一般我们在统计的时候不会统计型,而会统计什么呢?统计这个ID。啊,统计这个ID为什么,因为ID它是组件对不对,哎,所以只要加上数据ID就会多,所以我直接统立一个I就可以了,那你看这时候是不是也是十。没错吧,哎,这就是统计有多少条数据,甚至在统计的时候,我可不可以加上条件呢?也可以比如说为条件,为什么条件?比如说A等于20的有多少条数据,A级等于20的有五条数据,看到了吗?哎,这就是统计的哈,那OK,我把这三条语句也一样给大家复制出来。来。这是我的第一个对吧,这叫什么查询。年龄。等于20的有多少条数据对吧,然后再往后呢。这个这是什么查询。
19:02
呃,U表不要表中有多少条。数据这个是什么,按字段统计的对不对?哎,那还有什么,还有这个。查询所有字段有。多少条数据,那是不是还是一样,就是这个。哎,但一般我们在去查询有多少条数据时,不会统计一个所有字段啊,一般就是找这个组件统计一下组件就可以了啊,OK,这就是我们的这个。呃,查询啊,使用的看到那么查询有多少条数据之后,我们再来干嘛呢,还可以排序啊,排序查询。排序查序排序查询一共分为两类啊,一类是什么正序叫做asc,一类是倒序,叫做DEC啊,那OK,那咱们来看啊,As它的语句是这样的,All by,然后后面跟上字段,你要按照哪个字段,然后as sc,这表示什么意思啊,按照字段正序排序,那还可以呢,O的BY,然后一样字段叫做DSC,这个就是按照字段。
20:15
倒叙。排序。排序OK,那我们来看一下啊,比如在这里边叫做select星from user表,你看好了啊,现在这里边比如说我想按照年龄正序排序,可不可以也行啊,那select星,然后from user表,Order by按照谁呀?按照A级怎么办?As sc正序走,你你看这个时候年龄什么?18 18 18,然后20 20,二十二十,然后25 29。没错吧?哎,那好,这是一方面,那么另外我还可以怎么办呢?比如说你看啊,这都是18,看到了吗?如果年龄相同的时候,我想让它的ID倒序排序,也就是小得为第一个,然后小美为第二个么?他下来是不就相当于二跟十换个位置,哎,那这样怎么写呢?我就直接连续的去写排序,Select星from user表order by。
21:17
Order by按照什么?按照A级asc正去逗号,然后呢,当它相同的时候,我要按照IDDSC分号执行,你看好了,18 18 18的时候是不是小德排在第了,然后小美。小黑对吧,然后都是20的时候,你看是不是97641是吧,ID是倒叙的,原来是什么,原来是14679吧,哎,这就是什么,当我一个ID,当我有这个条件相同的时候,我按照再按照某个字段怎么排序啊。来,我们把它。复制下来啊,这叫什么,按照。按照啥来的,按照呃A级对吧,正序。
22:05
排序,我们用的语句是它对吧,然后还一样按照。Age。按照。A,正序排序如果怎么样,这个呃,年龄相同对吧,按照ID倒序排序。好,给它复制一下。翻过来,OK。这就是咱们的排序啊,好了,那排序知道以后啊,一样我们排在排序的时候能不能加上where条件呢?也是可以的,比如说我想搜搜什么呢?搜这个密码为123的数据,然后呢,按照年龄正序排序也可以,你看了select星,然后from ROM u表where条件,注意where的条件一定是写到最前面的。哦,你注意一定写到最前面的where条件,然后接下来干嘛,接下来就是。
23:05
呃,刚才我说的什么来着,PWD是吧?哎,PWD等于123的对吧?然后order by按照什么按照A正序as sc好周你你看现在我是不是拿的都是123,哎321的是不是就没出来,这个ID为十的就没有了,对不对,哎呀,然后按照什么,按照他的年龄正序排序。看到了吗?哎,所以在我做排序的时候,也是可以加搜索条件的啊,那么这里边一样叫做呃。查询。PWD等于123的所有数据,然后按照年龄正序排序,诶给它粘过来。好,这就是咱们这个排序的啊,好了,排序知道以后我们还有什么呢?还有限制查询语句,注意啊,我讲的顺序就是它书写的顺序,其实在它的后面是有顺序的,就是你给完表明以后,第一个我们先给的是will will完事以后是order by order by占完事以后给的什么呢?给的叫做limit,它叫限制查询数量啊,叫做。
24:09
叫做限制查询数量啊,Liit它们也一样,有两种格式,第一种格式select select,然后比如字段,然后,然后表。啊,我直接在这把格式就写了啊中号。这里面我们可以给什么给诶。Wi where条件啊,可以给where条件,然后呢,Liit lit limit,然后后面跟查啊不不什么limit啊,Where条件。Order条件or order by条件对吧,然后limit条件,当然啊。这里边还会有更多啊,还会有更多,因为还有什么个如BY啊分组的啊,都会往前加,对吧,我用中号代表什么代表的可无可有可无,这厘米的条件里边啊,注意它是有两种格式的啊,怎么两种格式呢?第一种格式是。
25:09
LIMILIMIT。格式意。叫做limit查询数量啊,第二个呢,格式二叫做it,叫做越过。几条查询或者说取出几条,哎,你看一用到这个,是不是立马想到我们分页了,我们分页是不是就是这样的一个原理啊,哎,你要越过多少条之后,然后再干嘛,再取出多少条,没错吧。哎,好了,那现在我们来看啊,在这里边一样,比如说我们select星from user表,我直接先limit了啊,你看前面条件是不是都成约了,哎,Limit比如说我越过,呃,三条取三条走,你你看是不是456123是不是就没有了,哎,那比如说我要越过。
26:01
我不越过了,我直接给个三呢,是不是就取123对吧,直接给个三就代表取多少条啊,我直接写个五对不对,取五条看到了吗?哎,如果我说我说我越过三条取五条,那是不是就34123没有了,就45678对吧?那你看是不是45678。哎,这就是咱们limit语句啊,越过多少条取多少条和直接取出多少条来啊,那么一样,它也会经常用到哪儿,用到分页里边。包括我们再去设置它的时候,可不可以给条件,可不可以排序都可以啊,比如说你看where条件叫什么呢?叫做这个six。Ex等于零的,注意你看我拿了这个等于零对不对,等于零了以后呢,然后再来我ord呀,Order by,按照IDDC,然后。越过三条取五条,看到了吗?来,走,你我这里边。只剩怎么样啊,只剩两条了,看到了吗?我ID是不是倒叙的,我给的条件你看啊,咱们拆分C是等于零的时候,我们一共才有多少条数据啊。
27:06
From user w e six等于零,你看这等于零是一共才几条?几条五条吧,哎,然后呢,我order by倒叙,这没问题。来这里边or order按照ID倒叙呢,对不对?哎,倒叙完以后,你看98653,然后再加上一个什么,又加了一个limit米特,Limit米特你看是不是就越过三条取五条,越过这三条取五条,它时间没有那么多,是不是就取出五跟三,那你看是不是就是五跟三这两条数据。这就是咱们的这个限制查询数量,包括我还可以干嘛呢,我还可以做分组查询。啊,今天说到这儿我给大家介绍一下啊,因为第一个项目我们应该用不上啊,叫分组查询,分组查询用什么用的,叫grup啊,叫分组查询,比如说我想查询这里边有多少个女的。
28:07
有多少个女的?我想查询多少个的,其实我们能不能查到肯定比如。不对,是where条件啊,我直接给will,这就行了,SE等于零,这是不是就查询到了?对不对,哎,但实际上我们按照性别,这里边可以分几组,是不是可以分为两组啊。对吧,那OK,你看好了,Select from。User,然后呢,我来分组,叫做group group by,按照谁分组,按照six来分组,那好走你你看我这里边啊。要多多分一组,这三组,因为它有一个钠。没错吧,哎,那么我想统计每个组中有多少人注意认为我要统计每个一次统计每个组中有多少人,那我是不是就得select我来count count的count ID啊,然后from。
29:04
哪个表优做表,然后什么条件呢?Grup group by,按照谁来分组,按照six来分组,这个时候你再看。告诉我什么453,哎,谁是4C5C3也咱也不知道对吧,那怎么办?S SE select,比如说我要查查什么呢?查一个这个。嗯。Six。查一个six字段,然后再来count count谁,Count这个ID,然后from u的表,Group by,按照谁,按照six,这回你再来看诶。我要查询字段加上。我count ID是不是要给逗号,哎,多个字段之间是不是用逗号分割对不对?那OK,回回以后你看一,这里边有四个人,性别为零的有五个人,None的为一个人,就是保密的为一个人,是这样吗?咱们来看对照一下s select,呃,Count count一个这个ID,然后from。
30:03
U的表where条件ID不是ID是six等于一了,你看是有四个人吗?没错吧,哎,这等于零的有五个人,这我们都知道,那我们一共就是十个人加起加起是不是十个人。哎,这就是咱们。的法啊,我这个也一样,给大家复制出来,复制出来。这里边叫什么呢,按照。性别分组对吧,并且查询每个组内有多少人啊,我们再去做分组的时候,一般都是做计算啊,就是按分组去做计算的,没有说你查分组啊,把那分组里的数据查出来,不会啊,分组里面是不会显示数据的,你看刚才我在这里边分完组以后,是不是只显示了每个组中的第一个人,看到了吗?是不是只显示每个组中的第一个人,哎,所以分组它只会显示一个人啊,一般我们用分组都干嘛呢?都是做统计用的,都是做统计用的,你看现在。
31:04
我统计了这个,比如说我想统计他们年龄的和,按照这个分组对吧,按照性别分组,然后统计他们年龄的和,啊注意年龄的和,那这时候怎么办,我是不是就得分组来星。From u的表你看好了啊,比如说性别为一的年龄总和是多少?性别为零的年龄总和是多少?明白吧,那这样的话我是不是select select six字段对吧?逗号sum是不是我的统一函数,聚合函数,哎,Sum你要把谁聚到一起呢?我要把这个。Six。啊,不对,是age聚在一起对吧?哎,统计他们的和,然后from哪个表呢?User表小,没有条件什么呀,GR和RO按照谁来分组按照。Six来分组走,你这个时候你看唯一的是78,为零的是112,为none的18,那就一个18没错吧,哎,那么现在我还有要求。
32:05
什么要求呢?听好了啊,这里边我先给他记,记上来吧,来CTRLC,这叫做。呃。按照性别分组,并且查询什么呀。性别下的年龄总和。总和。就是这个要求对吧,现在呢,我还是这个要求,我说按照性别分组。然后并且查询该这个性别下年龄总和大于。50。并且。小于100的。并且小于100的性别。
33:01
看明白了吧,哎,我要按照性别来分组,并且查询这个性别下,我刚才是不是有个打错了,按照性别分组,并且查询该性别啊。性别下。的年龄总和,这个是性别下年龄总和。大于50并且小于100的,是不是又加了条件呢?哎,那OK,那这回怎么办?Select select什么select还是一样,我要查six,然后总和sum。背景。对吧,From ROM好了怎么给条件。Where,条件?V条件,注意在给V条件的时候,我有分组吗?是不是还没分组呢?所以我V条件我应该拿谁呀?我是拿sum是这么给吗?Sum看好了,如果这么给sum里边的A对吧,先是大于50,并且。Sum里边的A小于。
34:05
100吧,然后group。BY按照谁按照six来分组走,你你看行吗?是不不行啊,哎,因为什么?因为我在这块运算,在这块算的时候我还拿不到他年龄总和,因为没分组对不对?哎,所以这个时候要干嘛呢?我需要用到分组的。过滤条件二次过滤啊,那么一般分组我们在去分组的时候,如果有筛选条件的话,我们都用heavy,而不是用will。来,你看好了,Select,然后six sum里边加上继续统计对吧?Sum咱们规范一下,我说过啊,这些东西都要大写啊,Sum。然后from where we where啊,什么where,没有where了对吧?From哪个表,User表哦,刚才我们写user是吧,那好来加一个。From。走。
35:01
你看是不是还是不行,你刚才告诉我什么of group function,是不是选择了一个分组的,哎,所以这里面根本就不行,那怎么办啊,我不能。这么去做。来,我把它删掉。把删掉啊,因为在条件的时候它是不成立的,这个时候是不是只有分完组以后我才能拿到这个总和对吗?所以这里边我在他的后面给他having avg having什么条件呢?这个时候的条件是不是就是叫做什么这个。Sum。对吧,大于。50并且sum括号这个A小于100。没错吧,哎,那规范一点,这个sum我们大写,然后前面的这个sum我们也大写sum OK,那现在我们来看这一句行不行,周尼你看。大于50小于100的是不是只有性别为一了,这78没错吧?哎,那OK,这就是咱们这个分组的依句,所以大家记住啊,我们一般在分组查询的时候用的都是什么,都是给条件啊。
36:11
来把这个复制过来。OK,然后这个不要了。好。好,那这个时候我们来给他记一下啊,这个AV having这个呢,效率较低。效率低啊,一般不用,一般什么用呢?就是在分组一般使用在分组里面做什么呀,做二次过滤的啊,那么使用方法和here view方法。一样,方法一样,那么这个时候。好了,那基本上啊,我们在查询的时候,这几个条件我都给大家介绍完了,那么介绍完以后,这回我再给大家总结一下,总结一下我们在查询就是怎么书写条件的,Select select select对吧,后面语句。
37:06
你该写什么样的语句,写什么样的语句,然后后面第一个出现的条件什么,是不是我们的will条件了,哎,Here条件。Where,条件再出现以后呢?再往下什么?再往下是这个条件。隔入拜条件完事再往下来。H。AV having条件。还没条件吗?是再往下来all。条件。条件,哎。条件啊,Alder by条件完事最后才怎么样?记住啊,Limit永远是放在最后的啊,最后是我们的limit条件。
38:02
Limit limit。OK啊,这就是我们SQL语句啊,再去写DQL语句时候的这些顺序中,括号代表什么,可有可无,可以省略对不对?哎,你要有你就加,但是都有的话,你要加的话就按照我这个顺序来加,明白了吧。哎,好了,那么接下来呢,我们再给大家做介绍一个东西叫什么呢?叫做多表联合查询。多表联合查询。联合查询啊。查询。联合查询,OK,那么多表联合查询它的格式什么呀?Select一般都是表一,比如说表。一里边的。点表字段啊,就表一里面的字段,然后表二里面的字段,然后from后面跟什么,跟上表一逗号表二,然后再往后给它V条件WH1RV条件,然后表一里面的字段要等于表二里面的字段,就是如果我们想做多表量合查询的时候一定要有一个共同点。
39:14
明白吧,哎,一定要有个共同点,就是你表一里面的东西。等于表二里的东西,比如说现在啊,我们只有表一是吧,来select星。Pro user看好了啊,我是不是只有这么一个表对吧,那接下来我就给这个表里边做一个,我把把这个six给他做出来,变成男女的six,我单独存一个表吧,来C叫做six表,那这里边一样有个ID为。Int类型or to?哎呀,这里面从零开始呢,是吧。就int类型吧啊。然后not not,我不设置组件也不设置自增了,对吧,因为咱们一旦自增它从一开始对不对,哎,所以我ID int not no,然后呢,再往下来。
40:02
有一个name。V叉类型。两个长度。Not。那好了,ENG。不用,它默认也是帮我们选引擎的是吧,我就直接这样了啊,然后这里边往里面插入数据s into,然后叫做这个表,往这里面插入一个什么呢?插入一个。呃。零。代表着。女。我这写的什么玩意儿都写懵了呢,Insert into,然后six。Six,然后values对吧,给零插入这零我也不用写,直接写零对吧,插入什么呢?插入一个女好。回车OK快OK对吧,再来一个这个位置什么一插入一个难。
41:06
走你我就一个一个一个一个女一个女一个男啊这个那我不管它,然后我们先来看一下select星from。呃,这个表来,你看是不是有这样的数据了,哎,那比如说我在查询数据的时候,我想把这两张表数据都查询出来,然后呢,把这里面的东西替换调成什么,替换成对应男女,对吧?那这个时候我怎么来查呢?你看好了啊,来select星from u表,同样这两个表我都给你查下来。打开了啊,然后咱们查select select select。哪个字段我要查user你看啊,User里边的ID对吧,User里边的username啊,然后呢,User里边的PWD,注意这个是我需要吗?不需要了吧,因为这块查的是显示的对不对啊,还有谁呢?还有user。里边的A对吧,那么再再往后再查查谁呀,查的是six里边的谁呀,里边的name。
42:05
这是不是第二张表了,哎,然后from哪个表呢?User逗号six是不是查这两张表什么条件?Where条件是不是就是user里边的six,它等于six表里面的ID。这两个是不是可以做关联呢?哎,那OK,那这个时候来回撤,回撤以后你看。我的字段是不是按照这个顺序显示的,是不是按照这个字序顺序显示的,显示完以后你看好了,男男女男女女男女女九条数据,因为第十条不符合要求。对不对啊,你看俩女一男是不是俩女一男,再俩女一男是不是再俩女一男对吧,然后再一女俩男,你看一女俩男。这就是咱们多表联合查询啊,那么多表联合查询,大家目前只需要记住这一句就可以了,我们另外还有什么左关联。左连接和查查询和连接查询啊,那个等到我们上后期的课程,我会再给大家再讲啊,那么前期我们只需要掌握这么多就够了啊OK,这就是咱们的这个DQL语句啊好了,那这节课我们到这里。
我来说两句