前言上次我们简单学习了select的用法,大概对数据库有了一些基本的了解。我们继续从上次开始看吧!查询数据如下orquery我们在学校的时候,都会听到这样的话,某某,你叫某某,某某。在这种情况下,我们要查询的是一个or(或)关系。or查询只能满足一个条件sql--语法SELECT*fromstudentWHEREor...;--比如查询姓名为张三或姓名为小刘的数据SELECT*fromstudentWHEREname="张三"orname="小刘";Executionresultisnotequalto(!=)query上面我们做的查询都是等于(=)操作,但是我们在学校的时候还有这种情况。某同学学习很好,背东西很快。放学后,他可能会一个人路过。这时候老师可能会说,除了XX,其他同学都抄了这篇文章3遍了,哦。..所以这时候就是反向查询,只需要排除某人即可!sql--语法SELECT*fromstudentWHERE;--比如查询其他名字不是张三的人,排除张三SELECT*fromstudentWHEREname!="张三";Executeresultsin/notinquery学生都是年轻人,20岁左右,这时候老师说,监控,数一数19、20、21岁的人!根据上面我们学到的知识,也许你就是这样的。SELECT*fromstudentWHEREage=19orage=20orage=21;执行结果是通过三个or找到的。其实这也没错,不过还有更简单的。sql--语法SELECT*fromstudentWHEREin(value1,value2,...)...;--比如要求同上SELECT*fromstudentWHEREagein(19,20,21);执行结果不在就是不在这个范围内的数据!sql--查询age不在19,20,21范围内的数据SELECT*fromstudentWHEREagenotin(19,20,21);查询之间的执行结果适合范围查询!sql--语法select*fromtablewherebetweenand;--比如查询20-22岁的学生SELECT*fromstudentWHEREageBETWEEN20and22;执行结果是一样的,between也可以用时间。select*from<表名>where<时间列>between<开始时间>and<结束时间>模糊查询(like)假设当前数据如下,共有张姓三人。老师可能哪天突然跟你说,班长,列一下我们姓张的,跟他们说点事怎么办???我们只需要寻找它,它从张开始,它后面的什么都无所谓。所以我们需要使用like模糊查询。sql--语法%表示匹配一个或多个字符select*fromtablewherelike'[%][%]'--例如查询,SELECT*fromstudentWHEREnamelike"Zhang%"以张开头;执行结果一样,这个%可以放在任意位置,用作不确定字符,可以自动匹配一个或多个。例如...WHEREnamelike"Zhang%feng";匹配:张三丰WHEREnamelike"%fish";匹配:张龟WHEREnamelike"Li%";match:Lisi...limit(极限)这个有点奇怪,我们举个例子好。数据如下sql--前两行SELECT*fromstudentLIMIT2;--从第2行开始,再取4行SELECT*fromstudentLIMIT2,4;--同上,不同写法SELECT*fromstudentLIMIT4OFFSET2排序(orderby)不知道大家有没有发现我们之前搜索的订单都是正的。但是会有问题。新加入的数据其实id最大。理论上,它应该在顶部。因此,应该以相反的顺序为好。sql--语法select*from<表名>orderby<列>asc--从小到大排序select*from<表名>orderby<列>desc--从大到小排序select*from<表名>orderbydesc,asc--先按照column1排序,如果数据相同,则按照column2排序比如按照id向前排序SELECT*fromstudentORDERBYidASC;executeresultsreversesortaccordingtoidSELECT*fromstudentORDERBYiddesc;executeresulthhh,所以我们把数据倒过来!!!分组(groupby)分组对于一群人来说可能比较困难。其实分组的核心就是理解压缩的概念。假设数据如下,性别有男有女。如果我想知道有多少男的有多少女的???我数不过来。..所以这个时候,如果可以的话,把男男女女都拿出来,就这样吧!然后我将它们压缩成一条。如果你明白这一点,那么小组就会明白。SyntaxSELECT,COUNT()fromstudentGROUPBY;--因为某一列被分组了,其他列的信息就不能再显示了,因为压在一起了,不能显示--但是它可以通过Count、sum等函数计算出压缩后的个数,或者总值。例如统计男女人数SELECTgender,COUNT(gender)fromstudentGROUPBYgender;执行结果统计有多少人同龄SELECTage,COUNT(age)as"quantity"fromstudentGROUPBYage;执行结果注意:groupby必须在where之后,orderby之前。小结本文主要讲Mysql的查询语法,在单表查询中,基本就是以上内容,只是从理论到事件需要时间。一定要多练习,whatisorquery,像查询注意事项,尤其是groupbygroupquery,一定要多思考,多联系。如果您在操作过程中有什么问题,记得在下方留言,我们看到会第一时间解决。不要轻易改变自己,因为你可能是世界上最闪亮的原石。