当前课程知识点:数据库技术应用 >  学习情境三、银行存取款机数据操纵 >  模块2、银行存取款机简单查询 >  3.2.2统计查询

返回《数据库技术应用》慕课在线视频课程列表

3.2.2统计查询在线视频

下一节:任务实施:银行存取款机统计查询

返回《数据库技术应用》慕课在线视频列表

3.2.2统计查询课程教案、知识点、字幕

大家好欢迎来到数据库技术应用在线开放课程

今天我们的任务是BankDB数据库的统计查询

我们把它分成五个子任务

第一个假定存款年利率是3.6%

查询账户到期后的利息额

第二个统计userinfo表当中的用户个数

第三个查询cardinfo表当中最高的帐户余额

第四个查询cardinfo表当中最低的帐户余额

第五个查询transinfo表当中银行卡的支取总额

那我们来看一下本节课的目标就是

通过这五个任务让大家学会掌握聚合函数的用法

那我们一起进入知识技能环节

第一个聚合函数

也就是说要完成我们的统计查询

要借助的就是聚合函数

那在mysql当中select语句

后面可以包含聚合函数

我们常用的聚合函数有下面几个

大家可以看一下这个表

第一个叫count

求组当中的项数返回的是整形

也就是简单来说统计个数的

第二个max求的是最大值

第三个叫min求的是最小值

第四个是SUM求的是所有值的和

第五个是AVG求的是平均数

这是五个函数

那么说到函数根据

大家以前所学的程序设计的思想

只要说到函数

实际上我们关心的就这么几个问题

一个就是函数的名代表了它的作用

第二个函数他都有返回值

我们需要关心

比如说count,max, min,sum ,avg

它的返回值类型都是什么样的类型

我们刚才提到了count返回整形

然后sum 、avg,max和Min返回的是数值型

有可能是浮点型有可能是整形

那么第三个问题对于函数来说

我们还关心这个函数的参数

也就是他有几个参数

参数的类型是什么

那么同样的道理

我们今天在用这些聚合函数的时候

大家也需要去关心这几个方面的内容

那我们来看第一个任务

假定存款年利率是3.6%

让我们查询的是帐户到期后的

利息金额是多少

这是我们在银行系统当中

经常用到的这样一个应用

那怎么来做这个查询

他竟然是个查询

必然要用到我们前面所说的

查询的基本语法select from

如果带条件加where

不带条件select from 就解决了

那在这个问题当中有没有条件

我们来看这个问题并没有条件

所以我们就直接用select from就可以完成

那根据我们前面说的

查什么select后面加什么

那我看要查什么

查询账户到期后的利息额

那我需要把银行卡号显示出来

也需要把利息显示出来

那大家都知道银行卡号

是在我们cardinfo表当中已经存在的一个字段

直接select后面加上cardID银行卡号

起个别名逗号隔开就可以了

那后面这个利息怎么来处理

利息在我们的cardinfo表当中并没用

但是前面给大家说了

查询的时候select后面

加的是我们要查询的内容

那么这个内容可以是现有的字段

也可以是计算得到的列

也可以是通过函数计算得到的列

那么这个问题利息怎么求

用我们的balance乘以三点六

除以一百就可以得到我们的利息

那么as利息给他起个别名

那么我们第二个利息额也出来了

那from哪个表 cardinfo 表

也就是说

大家看到的这个代码

就可以实现我们的第一个任务

我们来看第二个

第二个字任务是统计userinfo表当中的用户个数

userinfo表是我们的一个用户信息表

那里面有多少用户

对于我们现在的测试系统来说

里面用户数很少

但是对于银行的真正的自动存取款机系统来说

它的用户量是很大的

我们不能用数一个一个的手指头去数

是数不过来的

所以这个问题我们一样用查询来解决

那用查询来解决

我们前面在知识储备的时候看到

可以有很多函数借给我们用

那这里面我们可以借助哪个函数

大家想一下

统计个数我们可以用到count函数

count函数它返回的是一个整数

就是我们的个数

那括号里参数是什么

我们统计的是userinfo表当中所有用户的个数

那count后面括号里的参数

我们就可以写一个* 写个*

那么在计算这个个数的时候

系统会自动通过组建去识别

它有多少条记录

就代表有多少个用户

那么后面如果大家需要的话

可以给它起个别名叫用户个数

这样在显示结果显示的时候

这一列上面是有个名称的

不至于用户看到后不知道这85是什么

不知道这100是什么意思

如果加上用户个数

用户就很清楚说

查询出来这个结果是用户的个数

那from什么

userinfo表

select from 两个子句就把这个任务解决了

接下来我们看第三个子任务

查询cardinfo表当中最高的帐户余额

最高的帐户余额一说最高

我们首先还是在脑子里想一想

前面说到的那些函数有没有可以借用的

最高我们可以借用max这个函数

max括号里这个参数写什么

他说账户余额最高的那不能加星号了

一定要对帐户余额求最大值

那么账户余额是balance

所以就变成了max括号balance

那我们的查询就出来了

Select max 括号 balance

最高余额给他起个别名

from cardinfo也是两条子句

就可以解决求最高的问题

第四个子任务查询cardinfo表当中

最低的账户余额

这个任务看起来是个新任务

但实际上和我们的子任务三很相似

刚才是求最高的账户余额

而现在求的是最低的帐户余额

那实际上我们只要在语句当中

替换一个函数就可以了

刚刚用到的是max求最大

而现在最低我们当然要用MIN这个函数

MIN括号balance最低余额

那么他的语气就变成了

select min balance 最低余额

from cardinfo这是第四个子任务

接下来我们看第五个子任务

查询transinfo表当中银行卡的支取总额

transinfo是我们的交易信息表

这里面涉及到了一个支取总额

什么是总额肯定是总数是吧

总数的话我们用到一个函数sum求和的函数

那对谁求和

支取的总额当然对我们的交易金额来求和

交易金额在字段当中是transMoney

那就是sum 括号 transMoney

select后面要加的内容就已经确定了

那from哪个表

Transinfo表

这个问题当中和前面的问题有个差别

他指定了这个银行卡号

也就是说他是有条件的

除了这个条件以外

里面还说了两个字叫支取

换句话来说

在我们建的交易信息表当中

transMoney它指的是交易金额

有可能交易类型是支取

有可能交易类型是存入

而我们这道题要查的是支取

所以支取应该作为另外一个条件

所以这道题要解决需要用到where子句

那where子句当中

第一个条件就是cardID等于

你给定的这个银行卡号

第二个条件就是我们的transType

也就是交易类型应该是支取

那同样的问题

这两个条件是什么关系

是同时满足还是或者

很显然他是必须同时满足的

那么竟然同时满足的话

那么我们需要中间用一个and进行连接

那么我们子任务五来实现的代码就变成了

select from where

大家下去的时候可以测试一下

今天的拓展任务是员工管理数据库数据的查询

感谢大家的聆听

数据库技术应用课程列表:

学习情境一、银行存取款机数据库创建与管理

-模块1、数据库的基础知识

--1.1.1数据库设计-数据库的基本概念

--1.1.2数据管理的发展和数据库体系结构

--数据库的基础知识

-模块2、MYSQL介绍与安装

--MYSQL介绍与安装

--MYSQL介绍与安装

-模块3、银行存取款机数据库的创建与维护

--1.3数据库的创建与维护

--银行存取款机数据库的创建与维护

-模块4、银行存取款机数据库的设计

--1.4.1数据库的概念模型设计

--1.4.2数据库的数据模型设计

--1.4.3数据库的关系规范化

--银行存取款机数据库的设计

学习情境二、创建和管理银行存取款机数据表

-模块1、表的创建

--2.1表的创建

--任务实施:银行存取款机表的创建

--表的创建

-模块2、表的管理

--2.2表的管理

--任务实施:银行存取款机表的管理

--表的管理

-模块3、索引

--2.3索引

--任务实施:银行存取款机索引

--索引

-实践小课堂:宠物电商管理平台数据库和表的创建

--实践小课堂:宠物电商管理平台数据库和表的创建

学习情境三、银行存取款机数据操纵

-模块1、银行存取款机数据插入、修改和删除

--3.1.1数据插入

--任务实施:银行存取款机数据插入

--3.1.2数据修改和删除

--任务实施:银行存取款机数据修改和删除

--实践小课堂:宠物电商管理平台数据插入

--银行存取款机数据插入、修改和删除

-模块2、银行存取款机简单查询

--3.2.1简单查询

--任务实施:银行存取款机简单查询

--实践小课堂:宠物电商管理平台简单查询

--3.2.2统计查询

--任务实施:银行存取款机统计查询

--实践小课堂:宠物电商管理平台条件查询

--银行存取款机简单查询和统计查询

-模块3、银行存取款机连接查询

--3.3连接查询

--任务实施:银行存取款机连接查询

--银行存取款机连接查询

-模块4、银行存取款机子查询

--3.4子查询

--任务实施:银行存取款机子查询

--实践小课堂:宠物电商管理平台多表查询

--银行存取款机子查询

-模块5、银行存取款机分类汇总与排序

--3.5分类汇总与排序

--任务实施:银行存取款机分类汇总与排序

--实践小课堂:宠物电商管理平台分类汇总和排序

--银行存取款机分类汇总与排序

-模块6、银行存取款机视图

--3.6.1视图的创建与管理

--任务实施:银行存取款机视图的创建与管理

--3.6.2视图的更新

--任务实施:银行存取款机视图的更新

--实践小课堂:宠物电商管理平台视图

--银行存取款机视图

学习情境四、银行存取款机数据库编程

-模块1、银行存取款机存储过程

--4.1.1创建和执行存储过程

--任务实施:银行存取款机创建和执行存储过程

--实践小课堂:宠物电商管理平台存储过程

--4.1.2事务

--任务实施:银行存取款机事务

--实践小课堂:宠物电商管理平台存储函数

--银行存取款机存储过程

-模块2、银行存取款机触发器

--4.2.1INSERT触发器

--任务实施:银行存取款机INSERT触发器

--实践小课堂:宠物电商管理平台INSERT触发器

--4.2.2UPDATE触发器

--任务实施:银行存取款机UPDATE触发器

--实践小课堂:宠物电商管理平台UPDATE触发器

--4.2.3DELETE触发器

--任务实施:银行存取款机DELETE触发器

--实践小课堂:宠物电商管理平台DELETE触发器

--银行存取款机触发器

教学情境五、银行存取款机数据库安全性

-模块1、MYSQL用户管理

--模块1、MYSQL用户管理

--MYSQL用户管理

-模块2、MYSQL权限管理

--模块2、MYSQL权限管理

--MYSQL权限管理

-模块3、MYSQL数据库的锁机制

--MYSQL数据库的锁机制

--MYSQL数据库的锁机制

-模块4、MYSQL备份和恢复

--模块4、MYSQL备份和恢复

--MYSQL备份和恢复

3.2.2统计查询笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。