SQL编写
//用户表,用户ID,用户名称
create table t_user (user_id int,username varchar(20));
//用户帐户表,用户ID,用户余额(单位分)
create table t_account(user_id int,account_balance int);
insert into t_user values(1,'u1');
insert into t_user values(2,'u2');
insert into t_account values(1,10);
insert into t_account values(2,0);
insert into t_user values(3,'u3');
//用户交易表,用户ID,流水创建时间,交易金额(单位分),交易类型(0 POS支付;1 网上转账)
create table t_account_info (user_id int,create_time datetime,amount int,type int);
insert into t_account_info values(1,datetime('now'),100,0);
insert into t_account_info values(2,datetime('now'),200,0);
insert into t_account_info values(2,datetime('now'),300,0);
insert into t_account_info values(2,datetime('now'),300,1);
问题1 查询所有余额为0的用户信息,输出用户ID,用户名
左外连接
SELECT A.* FROM T_USER A LEFT JOIN T_ACCOUNT B ON A.USER_ID = B.USER.ID WHERE B.ACCOUNT_BALANCE = 0
直接连表查询
SELECT A.* FROM T_USER A,T_ACCOUNT B WHERE A.USER_ID = B.USER_ID AND B.ACCOUNT_BALANCE = 0;
问题2 查询当天的交易记录
SELECT A.USERNAME,B.CREATE_TIME,B.AMOUNT,B.TYPE FROM T_USER A,T_ACCOUNT_INFO B WHERE A.USER_ID = B.USER_ID AND B.CREATE_TIME BETWEEN date('2015-06-09') and date('2015-06-10')
问题3 查询所有用户的网上转账交易类型
SELECT A.USERNAME,'WangShangZhuanZhang'as TypeName from T_USER A,T_ACCOUNT_INFO B WHERE A.USER_ID = B.USER_ID AND B.TYPE = 1;
问题4 查询每个用户每种类型的交易汇总,只列出每种类型交易额之和大于5000的
SELECT * FROM (SELECT A.USERNAME,SUM(B.AMOUNT) AS TOTAL,B.TYPE FROM T_USER A,T_ACCOUNT_INFO B WHERE A.USER_ID = B.USER_ID GROUP BY B.USER_ID,B.TYPE) WHERE TOTAL > 5000
或者
SELECT A.USERNAME,SUM(B.AMOUNT) AS TOTAL,B.TYPE FROM T_USER A,T_ACCOUNT_INFO B WHERE A.USER_ID = B.USER_ID GROUP BY B.USER_ID,B.TYPE HAVING TOTAL > 5000
难点
1 时间函数,获取当天的.
2 分组时对sum的值有条件限制,一开始用的子查询,忘了还有having这个条件可以用
SQL编写的更多相关文章
- Oracle数据库编程:使用PL/SQL编写触发器
8.使用PL/SQL编写触发器: 触发器存放在数据缓冲区中. 触发器加序列能够实现自动增长. 在触发器中不能使用connit和rollback. DML触发器 ...
- SQL优化的一些总结 SQL编写一般要求
SQL编写一般要求---SQL语句尽可能简单---分解联接保证高并发---同数据类型的列值比较---不在索引列做运算---禁止使用SELECT *---避免负向查询和%前缀模糊查询---保持事务(连接 ...
- 常见的SQL编写和优化
目录 常见SQL编写和优化 常见的SQL优化方式 常见SQL编写和优化 常见的SQL优化方式 对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by 涉及的列上建立索引. 应尽量 ...
- 基本的Sql编写注意事项
基本的Sql编写注意事项 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替. 不用NOT IN操作符,可以用NOT EXISTS或者外连接+替代. Oracle在执行IN子查询时,首 ...
- 使用PL/SQL编写存储过程访问数据库
一.实验目的 熟悉使用存储过程来进行数据库应用程序的设计. 二.实验内容 对学生-课程数据库,编写存储过程,完成下面功能: 1.统计离散数学的成绩分布情况,即按照各分数段统计人数: 2.统计任意一门课 ...
- Oracle SQL编写注意事项
1.SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行. 2.数据表最好起别名;因为便于sql优化器快速分析. 3.尽量不要使用 insert into tabl ...
- javascript + sql编写SQL客户端工具tabris
祝大家2018新年快乐, 前不久发现了一个创意的脚本JtSQL(java编写) 开源地址为:https://github.com/noear/JtSQL JtSQL 特点:*.结合了JS.SQL.模板 ...
- 开发PL/SQL子程序和包及使用PL/SQL编写触发器、在JDBC中应用Oracle
1. 子程序的各个部分: 声明部分.可执行部分.异常处理部分(可选) 2.子程序的分类: A. 过程 - 执行某些操作 a. 创建过程的语法: CREATE [OR REPLACE] PROC ...
- mybatis动态注解sql编写注意事项
最近在编写mybatis的动态注解sql遇到了不少的坑,在网上看到一篇讲的比较详细的文章,记录一下: https://mbd.baidu.com/newspage/data/landingshare? ...
- 谈谈数据库sql编写
本文主要给初学者关于关系数库的一个浮光掠影式的介绍,如果想深入理解,必须对于下文提到的每个内容单独深入学习! it-information technology的简称,中文是信息机技术,信息其实就是数 ...
随机推荐
- IBatis.net 输出SQL语句(七)
一.IBatis.net输出SQL语句到控制台 输出IBatis.net生成的SQL语句到控制台,能够方便调试. 如果要想输出IBatis.net的SQL语句到控制台,那么只需要做如下配置即可: &l ...
- ROS的文件系统 (二)
ROS的文件系统的基本概念, ROS文件系统中的两个最基本的概念:Package和Manifest,即包和清单文件. Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件, ...
- ioinc
ioinc setup sassnpm installionic serve cordova plugin add cordova-plugin-crosswalk-webview 十.开发流程 1. ...
- K2认证考试,为竞争力加分
思科Cisco认证.ADOBE认证.微软认证.印度AIIT认证.华为认证.IBM认证等……在各种“证”满天飞的时候,如何独具慧眼选择最有含金量的证书? 八成 的人力资源主管会检查求职者的认证情况.(C ...
- ClassLoader相关内容
1.什么叫做bootstrap?作为形容词有依靠自己力量的:自己做的等意思,在我们计算机世界里,一般指的是自举,引导,引导程序. 那什么是bootstrapClassLoader呢?它是引导加载器,也 ...
- Android 圆形ProgressBar风格设置
Android系统自带的ProgressBar风格不是很好,如果想自己设置风格的话,一般有几种方法.首先介绍一下第一种方法通过动画实现.在res的anim下创建动画资源loading.xml: < ...
- 推荐一款免安装的在线Visio流程工具ProcessOn
昨天收到一人的邮件,说某个软件叫ProcessOn是web版的visio,出于对技术知识的渴望以及自己的好奇所以对ProcessOn进行了一番体验.结果有点被这个软件给吸引上了,无论是在用户体验上,还 ...
- JS事件大全
橙色表示“非常常用” 绿色表示“常用” onClick IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick IE4|N4|O 鼠标双击事件 onMouseD ...
- MVC5 烂笔头
HttpContent Controller:HttpContextBase View:HttpContext.Current View的搜寻顺序:本文件夹.本共享.根共享等 class=" ...
- 转载--Ubuntu设置环境变量
Ubuntu设置环境变量并立即生效(以Ubuntu12.04为例) 标签: UbuntuLinux环境变量 2013-09-12 19:04 9961人阅读 评论(1) 收藏 举报 分类: Ubun ...