某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理。该系统的后台数据库为ATM,该数据库中拥有账户表Account和交易表TransInfo两张表。

使用Navicat for MySQL创建数据库,数据表的基本信息如下:

CREATE TABLE atmdb.account (
CardNo int NOT NULL COMMENT ‘卡号’,
CustomerName varchar(20) NULL COMMENT ‘账户名称’,
Balance decimal(12, 2) NULL COMMENT ‘账户余额’,
PRIMARY KEY (CardNo) USING BTREE,
UNIQUE INDEX CustomerName_index(CustomerName) USING BTREE COMMENT ‘唯一’
);

CREATE TABLE atmdb.transinfo (
TransId int NOT NULL COMMENT ‘交易编号’,
CardNo int NOT NULL COMMENT ‘卡号’,
TransType enum(‘存入’,‘支出’) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT ‘存入’ COMMENT ‘交易类型’,
Amount decimal(12, 2) NULL COMMENT ‘交易金额’,
TransDate datetime NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘交易日期’,
PRIMARY KEY (TransId, CardNo),
CONSTRAINT CardNo_key FOREIGN KEY (CardNo) REFERENCES atmdb.account (CardNo) ON DELETE RESTRICT ON UPDATE RESTRICT
);

  1. 插入测试数据:

    insert into account (CardNo, CustomerName, Balance) VALUES
    (600000001, ‘朱逸群’, 100000),
    (600000002, ‘杜琦燕’, 9000),
    (600000003, ‘史珍香’, 7000),
    (600000004, ‘范统’, 190000),
    (600000005, ‘杜梓腾’, 50000);

insert into transinfo (TransId, CardNo, TransType, Amount, TransDate) VALUES
(1, 600000001, ‘存入’, 1600, ‘2014-04-13 21:58:37’),
(3, 600000001, ‘支出’, 500, ‘2013-05-20 00:00:00’),
(4, 600000003, ‘存入’, 6000, ‘2014-04-10 00:00:00’),
(5, 600000002, ‘存入’, 1000, ‘2012-06-20 00:00:00’),
(6, 600000005, ‘支出’, 2000, ‘2014-04-16 14:07:37’);

  1. 使用DML语句完成以下功能:
    (1).按交易类型查询交易总金额和交易次数,要求采用别名显示字段:交易类型,总金额,交易次数。
    提示:使用分组查询、聚合函数。
    SELECT TransType 交易类型, SUM(Amount) 总金额, count(TransId) 交易次数 FROM transinfo GROUP BY transType

(2).查询账户表和交易表,显示交易类型为存入且按交易金额降序排的账户名、交易金额、交易类型。
提示:使用表连接、排序、别名。
SELECT CustomerName 账户名, TransType 交易类型, Amount 交易金额 FROM transinfo JOIN account ON transinfo.CardNo=account.CardNo WHERE TransType=‘存入’ ORDER BY Amount DESC;

(3).查询账户表和交易表,显示账户名为“朱逸群”的全部交易信息且按交易金额降序排后 显示前两条数据。要求采用别名显示字段:账户名,交易类型,交易金额,交易时间。
提示:使用表连接、order by排序、limit。
SELECT CustomerName 账户名, TransType 交易类型, Amount 交易金额 ,TransDate 交易时间 FROM transinfo JOIN account ON transinfo.CardNo=account.CardNo WHERE CustomerName=‘朱逸群’ ORDER BY Amount DESC LIMIT 2;

(4).使用别名统计交易表每个卡号对应的存入次数和最大存入金额且要求最大存入金额大于 1000。
提示:使用别名、where条件、group分组、having筛选。
SELECT CardNo 交易卡号,COUNT(TransId) 存入次数 ,MAX(Amount)存入最大金额 FROM transinfo WHERE TransType=‘存入’ GROUP BY CardNo HAVING MAX(Amount)>1000 ;

某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理。该系统的后台数据库为ATM,相关推荐

  1. openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息

    openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息 ...

  2. 方维分享系统二次开发,tip.htm,修改调用的当前用户的信息

    方维分享系统二次开发,tip.htm,修改调用的当前用户的信息 方维分享系统全站调用用户组名称.图标.关注按钮和关注数.分享数.宝贝数.粉丝数.活动数.主题数.活动数: 调用用户组名称.用户组图标解决 ...

  3. 开发一套在线考试系统软件的可行性分析

    我们需要一套在线考试系统软件,有的人会选择购买已有,而有的人想要试试自己能不能开发. 自己开发一套在线考试系统软件到底难不难?如果有这种想法,那么我们必须先进行可行性分析,也就是说,我们要在系统调查的 ...

  4. 银行软件开发实习生_如何找到学生的软件开发人员实习生

    银行软件开发实习生 by Grazietta Hof 由Grazietta Hof 如何找到学生的软件开发人员实习生 (How to find a Software Developer Interns ...

  5. 银行系统开发必读的三本书!银行IT开发

    银行系统开发必读的三本书!银行IT开发 1.<银行业务与信息化系统分析>(刘士峰) 2.<银行管理与IT架构>(刘士峰) 3.<银行业务全搞> 注:<银行管理 ...

  6. 基于SpringBoot开发一套完整的项目(一)准备工作

    基于SpringBoot开发一套完整的项目(一)准备工作 1.1 SpringBoot简介 ① 为所有Spring 开发提供一个更快更广泛的人门体验. ② 零配置.无冗余代码生成和XML 强制配置,遵 ...

  7. 为方便旅客,某航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息......

    为方便旅客,某航空公司拟开发一个机票预定系统.旅行社把预定机票的旅客信息(姓名.性别.工作单位.身份证号码.旅行时间.旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起 ...

  8. 开发一套CRM系统要花多少钱?收费标准又是怎么样?

    如今,越来越多的企业开始选择定制开发CRM客户管理系统.那么开发一套CRM系统要花多少钱?收费标准又是怎么样的呢? CRM企业管理软件,在90年代末美国落地初期,通用型CRM软件因更易学习.费用较便宜 ...

  9. 二本本科,银行外包开发工作 4 个月有余。聊聊外包公司工作的一些真实感受!...

    最近会更新一系列关于在外包工作的真实经历和感受的文章,挺多小伙伴都比较感兴趣的.文章内容都来自在外包公司工作的读者的真实经历. 另外,不同的外包公司.不同的外包工作.不同的甲方等等因素都会影响每个人做 ...

最新文章

  1. 生产环境中配置的samba
  2. 最全面的JVM G1学习笔记
  3. Regex Tester (免费有用)
  4. signature=6a8815f5009aacac86e725bea54f840f,A wave packet signature for complex networks
  5. IOS基础之NSFounation框架的NSDictionary,NSMutableDictionary的使用
  6. 含根号的导数怎么求_数学分析Mathematical Analysis笔记整理 第四章 导数与微分
  7. 【转载】shell实例手册
  8. 带云的计算机词语,关于写带有云字的词语
  9. t检验(t test)
  10. navigateTo和navigateBack的使用
  11. Captcha Cracker (java)附带replace用法
  12. 内存诊断工程搭建及demo测试
  13. 聊聊C++标准库,准标准库中关于时间的概念和用法
  14. 山西大学 计算机科学,李德玉 - 山西大学 - 计算机与信息技术学院
  15. Linux系统基础小白学习(更新中)
  16. 【Unity项目】仿《空洞骑士》项目
  17. 死宅BALBALBA的奇妙冒险(0)——C语萌新的新手村
  18. Python日记(1)——求dy/dx
  19. Windows下尝试PHP7提示丢失VCRUNTIME140.DLL的问题解决
  20. mysql 视图会走索引吗_MySQL视图索引与存储过程精析-阿里云开发者社区

热门文章

  1. php文件怎么转换jpg文件怎么打开方式,heic文件如何打开 heic格式转换JPG方法【步骤教程】...
  2. unity禁用物体上的脚本或者组件
  3. 防删图制作实操:贴吧防删图用什么工具软件可以制作
  4. 没有带手机的一个星期
  5. 02-JSX核心语法一
  6. 邻居表项的unres_qlen_bytes长度
  7. 全国计算机考试证书蓝色和红色区别,护士资格证蓝色和红色有区别吗?护士资格证和护士执业证有什么区别吗?...
  8. 易优cms网站友情链接,设置新窗口打开无效 Eyoucms快速入门
  9. 来看看阿里新人入职培训PPT
  10. Java Wechat Pay Project