《MySQL数据库》4-2单表查询课件_第1页
《MySQL数据库》4-2单表查询课件_第2页
《MySQL数据库》4-2单表查询课件_第3页
《MySQL数据库》4-2单表查询课件_第4页
《MySQL数据库》4-2单表查询课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第4章知识回顾

基本语法:SELECT[DISTINCT]*|<表达式>FROM表名|视图名[WHERE条件表达式][GROUPBY字段名[HAVING分组条件表达式]][ORDERBY字段名[ASC|DESC]][LIMIT[OFFSET,]记录数]单表查询01Select子句02Where子句03Group子句04Order子句05Limit子句第4章01Select子句SELECT[DISTINCT]*|<表达式>[[AS]别名]From表名|视图名1.DISTINCT:消除重复值

2.*|<表达式>:输出项3.[[AS]别名:查询输出字段别名第4章01Select子句【案例1】查询score表中所有学生的学号sid(不含重复值),列名以“学号”显示。SELECTDISTINCTsidAS学号FROMscore一、DISTINCT用法第4章01Select子句【案例2】查询student表中所有学生的系部名称(不含重复值)。SELECTDISTINCTdepartmentFROMstudent第4章01Select子句【案例3】查询学生表student的全部字段。SELECT*FROMstudent二、*|表达式[AS别名]第4章01Select子句【案例4】查询student表中指定部分字段:学号sid,姓名snameSELECTsid,snameFROMstudent第4章01Select子句【案例5】常量:查询输出student表sid、sname字段和“xx学校”

列SELECTsid,sname,‘xx学校’AS学校FROMstudent第4章01Select子句【案例6】计算字段:查询输出学号,姓名,日期(系统当前日期),以“日期”为列名显示。SELECTsid,sname,now()as日期FROMstudent第4章01Select子句【案例7】计算字段:查询输出学号,姓名,年龄SELECTsid,sname,year(now())-year(birth)AS年龄

FROMstudent第4章01Select子句【select子句小结】1.DISTINCT:消除重复值

2.*:全部字段3.部分字段4.计算表达式5.常量表达式6.字段别名第4章02where子句SELECT[DISTINCT]*|<表达式>[[AS]别名]From表名|视图名Where条件表达式

Where条件表达式

第4章02where子句

条件表达式:

关系表达式、逻辑表达式、特殊表达式第4章02where子句

一、关系表达式

>、>=、<、<=、=、<>|!=第4章02where子句

二、逻辑表达式NOT、AND、ORNOT:非运算,求反运算AND:逻辑与,两个表达式都为真,结果为真OR:逻辑或,有一个表达式为真,结果为真第4章02where子句

三、特殊表达式BETWEEN…AND、IN、LIKE、ISNULL第4章02where子句【案例8】查询student表中“李璐璐”的所有字段信息SELECT*FROMstudentWHEREsname='李璐璐';第4章02where子句【案例9】数值:查询score表result在90分以上的学号,课程号,成绩SELECTsid,cno,resultFROMscoreWHEREresult>=90;第4章02where子句【案例10】日期型:2001以后出生的人员姓名,性别,出生日期SELECTsname,sex,birthFROMstudentWHEREbirth>='2001-01-01';SELECTsname,sex,birthFROMstudentWHEREYEAR(birth)>=2001;SELECTsname,sex,birthFROMstudentWHEREbirth>=2001;错误第4章02where子句【案例11】查询student表中非“信息工程系”的全体学生信息SELECT*FROMstudentWHEREdepartment<>'信息工程系';SELECT*FROMstudentWHEREdepartment!='信息工程系';SELECT*FROMstudentWHERENOT(department='信息工程系');第4章02where子句【案例12】查询score表课程号“01”且result在90分以上的学号,课程号,成绩SELECTsid,cno,resultFROMscoreWHEREcno='01'ANDresult>=90;第4章02where子句【案例13】查询student表中“李璐璐”和“李小钱”的所有字段信息SELECT*FROMstudentWHEREsname='李璐璐'ORsname='李小钱';SELECT*FROMstudentWHEREsnameIN('李璐璐','李小钱');第4章02where子句【案例14】查询score表中成绩80-90之间成绩信息SELECT*FROMscoreWHEREresult>=80ANDresult<=90;SELECT*FROMscoreWHEREresultBETWEEN80AND90;第4章02where子句【案例15】查询student表中姓“李”的学生信息SELECT*FROMstudentWHEREsnameLIKE'李%';函数:LEFT(srting1,n)和substring(string1,n1,n2)SELECT*FROMstudentWHERELEFT(sname,1)='李';SELECT*FROMstudentWHERESUBSTRING(sname,1,1)='李';第4章02where子句【案例16】查询student表中姓李、张的学生信息SELECT*FROMstudentWHEREsnameLIKE'李%'ORsnameLIKE'张%';SELECT*FROMstudentWHERELEFT(sname,1)='李'ORLEFT(sname,1)='张';SELECT*FROMstudentWHERELEFT(sname,1)IN('李','张');第4章02where子句【案例17】查询sname的第二个字是“小”的学生信息SELECT*FROMstudentWHEREsnameLIKE'_小%';第4章02where子句【案例18】查询addr为“郑州”的学生信息SELECT*FROMstudentWHEREaddrLIKE'%郑州%';第4章02where子句【案例19】查询result为空的成绩信息SELECT*FROMscoreWHEREresultISNULL;第4章02where子句【where子句小结】1.关系表达式2.逻辑表达式3.特殊表达式第4章03GROUPBY子句

三、聚合函数AVG():平均值SUM():求和COUNT():计数MAX():最大值MIN():最小值第4章03GROUPBY子句

【案例20】统计score表中所有学生的总分、平均分、最高分和最低分SELECTSUM(result)总分,AVG(result)平均分,MAX(result)最高分,MIN(result)最低分FROMscore;第4章03GROUPBY子句

【案例21】统计score表中“01”号课程的总分、平均分、最高分和最低分SELECTSUM(result)总分,AVG(result)平均分,MAX(result)最高分,MIN(result)最低分FROMscoreWHEREcno='01';第4章03GROUPBY子句

【案例22】统计score表中参与考试的学生人数和总人次数SELECTCOUNT(DISTINCTsid)人数,COUNT(*)人次FROMscore;第4章03GROUPBY子句

【案例23】统计student表中男生人数SELECTCOUNT(*)男生人数FROMstudentWHEREsex='男';第4章03GROUPBY子句

【案例24】统计student表中女生人数SELECTCOUNT(*)女生人数FROMstudentWHEREsex='女';第4章03GROUPBY子句四、GROUPBY字段[

HAVING分组条件]

功能:按<字段>值对记录分组,聚合函数对每组进行聚合运算HAVING分组条件:只输出满足分组条件的数据第4章03GROUPBY子句

【案例25】统计student表中男、女生人数SELECTsex性别,COUNT(*)人数FROMstudentGROUPBYsex;第4章03GROUPBY子句

【案例26】查询统计每门课平均分,显示平均分在80以上的课程号和平均分SELECTcno课程号,AVG(result)平均分FROMscoreGROUPBYcnoHAVINGAVG(result)>=80;第4章03GROUPBY子句

【案例27】查询统计01、02、03号课程平均分,显示平均分在80以上的课程号和平均分SELECTcno课程号,AVG(result)平均分FROMscoreWHEREcnoIN('01','02','03')GROUPBYcnoHAVINGAVG(result)>=80;第4章03GROUPBY子句

SELECTcno课程号,AVG(result)平均分FROMscoreGROUPBYcnoHAVINGAVG(result)>=80ANDcnoIN('01','02','03');第4章03GROUPBY子句

WHERE与HAVING区别:1.WHERE:筛选表中记录2.HAVING:筛选分组后数据第4章03GROUPBY子句【

GROUPBY子句小结】1.聚合函数2.GROUPBY子句

3.WHERE与HAVING区别第4章04ORDERBY子句

五、ORDERBY

温馨提示

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

评论

0/150

提交评论