老师java预科mysql补录的录屏_第1页
老师java预科mysql补录的录屏_第2页
老师java预科mysql补录的录屏_第3页
老师java预科mysql补录的录屏_第4页
老师java预科mysql补录的录屏_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可爱的小海豚:MySQL数据库第六章单表查询

老刘:用了那么多时间的select*了,每次都是全部查询出来,我都是要在里面找我要的数据好烦,有没有办法只显示我要的那几列呢?

老罗:其实查询语句的真正语法是,SELECTfield1,field2,...,fieldnFROMtable_name;其实你只要将你想要查询的那些列名写出来就好了!

老刘:太方便了,太方便了,太方便了!第六章单表查询

老刘:我有时候想在表中查询我已经有几种货物种类了,查出来一堆,还是要靠自己的氪金眼看,有啥简便的命令吗?

老罗:那你问对人了,可以使用DISTINCT关键字去掉重复数据,具体语法如下,SELECTDISTINCTfield1,field2,...FROMtable_name;使用结果让你有DUANG效果的感觉!

老刘:DUANG出来了,再也不用看瞎我的氪金眼了0_0第六章单表查询

老罗:不光如此,mysql还提供了简单的四则运算符给你使用,试试将进价和商品数量相乘就能得出你的该商品总成本了!

老刘:太好用了,我的财务可以走人了,你帮我省了一大笔钱!

老罗:那你要怎么谢谢我?

老刘:呀!好像马上要下雨了,我衣服还在外面呢......第六章单表查询

老罗:还记得我以前讲过的条件语句吗“WHERECONDITION”,下面我们就来讲讲条件限制语句在查询中的应用!

老刘:氪金眼已坏...

第六章单表查询

使用限制条件,数据库可以包含如下功能:1.带关系运算符和逻辑运算符的条件数据查询;2.带BETWEENAND关键字的条件查询语句;3.带ISNULL关键字的条件查询语句;4.带IN关键字的条件查询语句;5.带LIKE关键字的条件查询语句;

第六章单表查询1.带关系运算符和逻辑运算符的条件数据查询;

算数运算符描述逻辑运算符描述>大于AND(&&)逻辑与<小于OR(||)逻辑或=等于XOR逻辑异或!=(<>)不等于NOT(!)逻辑非<=小于等于>=大于等于第六章单表查询

老罗:当你要同时给出两个或以上的条件时,就可以使用AND关键字连接查询条件了;

老刘:举个例子呗;

老罗:selectfield1fromtabel_namewherefield2='value2'andfield3>value3;

老刘:BETWEENAND怎么用?

老罗:语法格式如下,SELECTfield1FROMtable_nameWHEREfield2BETWEENvalueaANDvalueb;

第六章单表查询

老罗:betweenand可以用来检索出一个取值范围的数据,就好比我们以前分支语句中的if(a>0&&a<10)这样的条件分支!

老刘:那分支语句中的else怎么说?

老罗:那就是NOTBETWEENAND,怎么样?

老刘:服了!第六章单表查询

老刘:有些字段是空的,我能用BETWEENAND找出来吗?

老罗:这个比较难,不过有个ISNULL关键字可以实现你的要求,语法如下,SELECTfield1FROMtable_nameWHEREfield2ISNULL;第六章单表查询

老罗:这次我抢在你前面说,非空的条件语句是ISNOTNULL;哈哈哈哈

老刘:好,算你厉害,那怎么实现分支语句中的switch呢?

老罗:就用IN这个关键字,语法如下,SELECTfield1FROMtable_nameWHEREfield2IN(value1,value2...valuen);第六章单表查询

老刘:不再这里面就用NOTIN关键字,对吗?

老罗:是的,接下来讲LIKE关键字的用法,LIKE要和通配符一起用,不然没有用通配符的LIKE效果等同于“=”,常用的通配符有“_”和“%”;前者是匹配单个字符的意思,后者是匹配任意字符;比如"_a%"表示第一个字母任意,第二个字母必须是a,后面字母任意,复合的结果有ward,martin,james等。第六章单表查询

老罗:LIKE关键字在实际开发中,常用于实现模糊查询功能,比如查询张姓同学,就可以这么写select*fromstudentwherestu_namelike'张%';又比如要查找名字中有小米关键字的产品,则可以这么写:selectnamefromtablewherenamelike'%小米%';

老刘:like"%%";就是查询所有记录咯?

老罗:正确!第六章单表查询课堂练习:查询物品名字中含有“笔”的商品;查询商品表中进货价格大于50的所有商品;查询出商品表中所有书籍商品;分别查询出书籍中出售价格大于50和小于40的商品;第六章单表查询

老刘:有时候我的查询结果乱糟糟的,我想让它们按照某列进行排序,怎么做?

老罗:排序的关键字是ORDERBY,后面跟ASC(升序,可以不写默认)或者DESC逆序;具体语法如下,SELECTfield1,field2,...FROMtable_nameWHERECONDITIONORDERBYfieldn[ACS|DESC];注意这里的语法中条件语句是分开的,就是说可以没有条件语句,比如select*fromstudentorderbystu_name;第六章单表查询

老罗:既然有了排序功能,我们就能排序我们输出的结果集,有时候我们只想要排序后的第一条或前几条怎么办?

老刘:这个我知道,可以用LIMIT关键字;

老罗:哦,这你已经知道啦?那么跟大家说说怎么用吧:)

老刘:没问题,具体用法举例说吧,select*fromtablelimit2;只输出前2行;select*fromtablelimit0,5;从第0行开始,输出5行;select*fromtableorderbysallimit1;按照sal列升序排序,只输出第一行,那么就得到sal最小的那条数据!第六章单表查询

老罗:厉害啊!那我考考你,从第6条记录开始,显示5条记录,怎么写?

老刘:嘿嘿,这个能难倒我吗?这么简单还是让同学们代替我回答把!第六章单表查询

老罗:很多情况下,都需要一些统计汇总工作,比如整个公司的人数,某部门的人数等等,这时候就用到统计函数了,它们分别为,COUNT()函数:统计记录数;AVG()函数:求平均值;SUM()函数:求和;MAX()函数:求最大数;MIN()函数:求最小数;第六章单表查询COUNT()函数可以通过以下两种方法来实现统计:COUNT(*)使用方式,实现对表中记录进行统计,不管是否包含NULL还是NOTNULLCOUNT(field)使用方法对指定字段进行统计,将忽略NULL值!第六章单表查询其它函数依次举例:selectavg(sal)fromtable;//求售价的平均值selectsum(sal)fromtable;//求售价的总和selectmax(sal)fromtable;//求最高售价selectmin(sal)fromtable;//求最低售价第六章单表查询关于统计函数的注意点:如果表中无数据,count()函数返回的是0,其它函数返回null;第六章单表查询

老刘:在具体使用统计函数的时候都是对表中的所有记录或特定条件的记录进行统计的,但是实际上我想对商品进行分开统计怎么办,也就是比如每个种类商品分别进行统计怎么办?

老罗:在mysql中是用过GROUPBY关键字实现一个分组的,也和你的情况一样,实际工作中分组查询一般都是和统计函数一起出现的!第六章单表查询简单的分组查询语法如下,SELECT*FROMtabel_nameGROUPBYfield;我们将这个语法和统计函数一起用就可以达到分组查询统计的功能了,举个例:selectcount(*)fromtablegroupbytype;这句语句实现了按照类型进行分组,分别查询出了每组商品数量!第六章单表查询

老刘:哦,这么看来分组和统计函数组合在一起能实现好多功能,还是特别有用的嘛;

老罗:确实,实际工作中很可能经常要进行分组查询统计的,这个知识点你要多多练习啊!

老刘:明白!第六章单表查询

老罗:在mysql中,要对分组查询结果进行条件限制查询,绝对不能使用WHERE关键字,需要使用HAVING关键字,例如,selectcount(*)fromtablewheresal>50groupby

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论