MySQL数据库原理与应用项目化教程(微课版) 课件 项目7-简单数据查询_第1页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目7-简单数据查询_第2页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目7-简单数据查询_第3页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目7-简单数据查询_第4页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目7-简单数据查询_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

项目七简单数据查询E-mail:358542298@江苏海事职业技术学院

数据查询是用户对数据库使用频率最高的操作,通过查询,用户可以从数据库中获取需要的数据,包括一些统计结果。

本项目将对“学生成绩管理”数据库的数据表做简单查询操作,这里的“简单”指的是单表查询,即查询的数据项在一个表中,如果要筛选行,筛选的条件也是同一个表中。知识目录:识记SELECT语句七个子句的语法及用途。(SELECT/FROM/WHERE/GROUPBY/HAVING/ORDERBY/LIMIT)能力目标:能对单表进行无条件查询、有条件查询及统计查询。能对查询结果进行排序,限制查询返回行的数量。任务7.1任务7.2单表无条件查询单表有条件查询任务7.3单表统计查询

任务7.1单表无条件查询

使用SELECT语句对“学生成绩管理”数据库做单表无条件查询操作。每次查询只涉及到一个表的数据项,不筛选行,可以对查询结果按需要进行排序,可以限制查询返回行的数量。(具体内容详见任务实施部分)

【任务描述】单表无条件查询7.1【相关知识】312ORDERBY子句

SELECT子句

FROM子句4

LIMIT子句7.1单表无条件查询【相关知识】7.1SELECT查询语句可由多个子句构成,本节任务实施会用到以下四个子句。语法格式如下:SELECT[ALL|DISTINCT]表达式列表

FROM表名

[ORDERBY表达式列表[ASC|DESC]]

[LIMIT[起始记录,]返回的行数];

单表无条件查询【相关知识】7.1SELECT[ALL|DISTINCT]表达式列表

..................查找的数据项说明:

表达式:常量、字段、函数或者是它们加上运算符构成的式子。

表达式之间用逗号隔开。“*”:表示所有字段。表达式可以用别名,使用别名格式:①表达式别名②表达式

AS别名当别名中含有空格等特殊字符时,一定要用引号定界。ALL:默认选项。DISTINCT:去掉查询结果中的重复行。单表无条件查询【相关知识】7.12.FROM表名.....................查询的数据表(单表)3.[ORDERBY表达式列表[ASC|DESC]]..................查询结果排序.说明:ASC:升序,默认选项。DESC:降序。空值:升序时排在前面,降序时排在后面。4.[LIMIT[起始记录,]返回的行数]......................限制查询结果的返回行说明:起始记录若省略,表示从第一行开始返回(行号从0开始计数)。单表无条件查询【任务实施】7.1单表无条件查询声明:学生信息纯属虚构准备工作:数据库studb三个数据表的数据如任务1.2中表1-3、表1-4、表1-5所示。【任务实施】查询所有学生的基本信息。7.1单表无条件查询

SELECT*

FROMstuinfo;声明:学生信息纯属虚构【任务实施】2.查询所有学生的学号和姓名。

7.1单表无条件查询SELECTstuno,stunameFROMstuinfo;声明:学生信息纯属虚构【任务实施】3.查询至少选修了一门课程的学生的学号(要求去掉重复行)。7.1单表无条件查询SELECTstunoFROMstumarks;【任务实施】用DISTINCT选项去掉重复行:SELECTDISTINCTstunoFROMstumarks;7.1单表无条件查询【任务实施】4.查询选课表中所有的学号及成绩加5分后的结果,结果列名用中文(学号、成绩)显示。7.1单表无条件查询SELECTstuno学号,stuscore+5AS成绩FROMstumarks;注意:任何查询操作都不会改变表中数据!【任务实施】5.查询所有学生的选课信息,要求先按课程号升序排列,课程号相同的按成绩降序排列。7.1单表无条件查询SELECT*FROMstumarksORDERBYcno,stuscoreDESC;【任务实施】6.查询年龄最小的二名学生的学号,姓名及出生日期。7.1单表无条件查询SELECTstuno,stuname,stubirthdayFROMstuinfoORDERBYstubirthdayDESCLIMIT2;声明:学生信息纯属虚构重要知识点:1.查询语句的四个子句:

SELECT[ALL|DISTINCT]表达式列表...............查询的数据项

FROM表名...........................................查询的数据表

[ORDERBY表达式列表[ASC|DESC]].....................查询结果排序

[LIMIT[起始记录,]返回的行数];.............................限制查询结果返回行2.提醒:任何查询操作都不会改变表中的数据!7.1单表无条件查询7.1思政小贴士期末成绩还未知,未来人生还有很多不确定,要有积极向上的人生态度,努力向上。单表无条件查询【空值表示不确定,排序时位置:升序在前,降序在后】任务7.2单表有条件查询

使用SELECT语句对“学生成绩管理”数据库做单表有条件查询操作,就是在单表无条件查询的基础上增加了对数据表记录的有条件筛选操作。(具体内容详见任务实施部分)

【任务描述】单表有条件查询7.2【相关知识】1WHERE子句7.22

常用运算符单表有条件查询【相关知识】7.2语法格式如下:SELECT[ALL|DISTINCT]表达式列表

FROM<基本表名>[WHERE<条件>]

[ORDERBY[ASC|DESC]][LIMIT[起始记录,]显示的行数]单表有条件查询WHERE子句常用的运算符7.2【相关知识】单表有条件查询1.关系运算符

又叫比较运算符,用于比较两个表达式的值。

语法格式如下:WHERE表达式1关系运算符表达式27.2【相关知识】单表有条件查询7.2【相关知识】单表有条件查询2.范围运算符语法格式如下:WHERE表达式

[NOT]BETWEEN初始值AND

终止值=[NOT](表达式>=初始值AND

表达式<=终止值)3.列表运算符

IN(值1,值2,…值n):值表中列出所有可能的值,当要判断的表达式与值表中的任一个值匹配时,结果返回TRUE,否则为FALSE。语法格式如下:WHERE表达式

[NOT]IN(值1,值2,…值n)7.2【相关知识】单表有条件查询4.模式匹配符

语法格式:WHERE字段名[NOT]LIKE‘字符串’7.2【相关知识】单表有条件查询5.空值判断语法格式如下:WHERE字段名

IS[NOT]NULL常见错误:字段名=NULL×

ISNULL√

NOTISNULL×

ISNOTNULL√7.2【相关知识】单表有条件查询6.逻辑运算符

逻辑运算符有NOT、AND和OR,可连接多个查询条件。

语法格式如下:WHERENOT逻辑表达式|

逻辑表达式1{AND|OR}逻辑表达式27.2【相关知识】单表有条件查询【任务实施】准备工作:数据库studb三个数据表的数据如任务1.2中表1-3、表1-4、表1-5所示。7.2单表有条件查询【任务实施】1.查询成绩介于80到90之间的所有选课记录。SELECT*FROMstumarksWHEREstuscoreBETWEEN80AND90;7.2单表有条件查询=stuscore>=80ANDstuscore<=90【任务实施】2.查询“S001”、“S003”和“S005”这三个学生的基本信息SELECT*FROMstuinfoWHEREstunoIN('S001','S003','S005');7.2单表有条件查询声明:学生信息纯属虚构

(stuno='S001')OR(stuno='S002'

)

OR(stuno='S003')【任务实施】3.查询所有姓“张”的学生的基本信息。SELECT*FROMstuinfoWHEREstunameLIKE'张%';7.2单表有条件查询声明:学生信息纯属虚构【任务实施】4.查询名字中包括"东"字的所有学生的学号及姓名SELECTstuno,stunameFROMstuinfoWHEREstunameLIKE

'%东%';7.2单表有条件查询【任务实施】5.查询成绩为空值的选课记录,结果按学号升序输出。SELECT*FROMstumarksWHEREstuscoreISNULLORDERBYstuno;7.2单表有条件查询【任务实施】6.查询“S001”和“S003”这二个学生选修“0002”号课程的选课记录SELECT*FROMstumarksWHERE(stunoIN('S001','S003'))AND(cno='0002');7.2单表有条件查询重要知识点:查询语句的WHERE子句用于筛选记录,位于FROM子句之后WHERE子句常用的运算符关系~:=、>、>=、<、<=、<>(或!=)范围~:[NOT]BETWEEN…AND列表~:[NOT]IN模式匹配:[NOT]LIKE(%_)空值判断:IS[NOT]NULL逻辑~:NOT、AND、OR7.2单表有条件查询7.2思政小贴士评优评奖需要满足各种条件才能评上,平时要努力学习,课余积极参加各项活动。单表有条件查询【查询数据满足条件的记录才能筛选出来】任务7.3单表统计查询使用SELECT语句对“学生成绩管理”数据库做单表统计查询操作,包括分组统计查询。(具体内容详见任务实施部分)

【任务描述】7.3单表统计查询【相关知识】31

HAVING子句

常用聚合函数7.32GROUPBY子句单表统计查询语法格式如下:SELECT[ALL|DISTINCT]表达式列表

FROM

基本表名

[WHERE

行筛选条件>[GROUPBY分组列名表

[HAVING组筛选条件]]

[ORDERBY

排序列名表

[ASC|DESC]];[LIMIT[起始记录,]显示的行数]【相关知识】7.3单表统计查询1.常用聚合函数【相关知识】7.3单表统计查询聚合函数语法格式如下:函数名([ALL|DISTINCT]

表达式|*)说明:ALL:默认选项,取表达式所有的值进行统计;DISTINCT:统计时去掉重复值。*表示记录。如:COUNT(*)表示统计有多少行。数据项为NULL时不纳入统计。【相关知识】7.3单表统计查询2.GROUPBY子句GROUPBY子句的作用相当于EXCEL的分类汇总。根据某一列或多列的值对数据表的行进行分组统计,在这些列上对应值都相同的行分在同一组。说明:使用GROUPBY分组统计,在SELECT子句的输出列中,只能包含二种目标列表达式,要么是聚合函数,要么是出现在GROUPBY子句中的分组字段。若分组字段的值有NULL,NULL将不会被忽略掉,会进行单独的分组。【相关知识】7.3单表统计查询3.HAVING子句HAVING子句用于筛选分组。有用GROUPBY子句对记录进行分组,才有可能会用HAVING子句筛选组。【相关知识】7.3单表统计查询【任务实施】准备工作:数据库studb三个数据表的数据如任务1.2中表1-3、表1-4、表1-5所示。7.3单表统计查询【任务实施】1.查询所有学生的人数。SELECTCOUNT(*)学生人数FROMstuinfo;7.3单表统计查询【任务实施】2.查询选修了课程的学生人

温馨提示

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

最新文档

评论

0/150

提交评论