Java学习笔记35(sql补充)
在上一篇里,写了数据库的增删该查,没有写完,这里补充
CREATE DATABASE Zs_Base;
USE Zs_Base;
# 创建表
CREATE TABLE PRODUCT(
ID INT PRIMARY KEY AUTO_INCREMENT,
SNAME VARCHAR(50),
MONEY DOUBLE
);
# 插入数据
INSERT INTO PRODUCT VALUES
(1,'吃饭支出',-10),
(2,'收账',1999),
(3,'买礼物支出',-666),
(4,'买烟支出',-10);
INSERT INTO PRODUCT(MONEY) VALUE (100);
DELETE FROM PRODUCT WHERE ID=5;
SELECT * FROM PRODUCT;
/*==========================================================
1.升序降序*/
# 将所有信息按money降序排序 关键字 order by desc
# SELECT * FROM 表名 ORDER BY 降序的列名 DESC;
SELECT * FROM PRODUCT ORDER BY MONEY DESC;
# 将所有信息按money 升序排序 关键字 order by asc
# SELECT * FROM 表名 ORDER BY 升序的列名 ASC;
SELECT * FROM PRODUCT ORDER BY MONEY ASC;
# 当有条件时,order by 放在条件后面
SELECT * FROM PRODUCT WHERE SNAME IS NOT NULL ORDER BY MONEY DESC;
# 总结 order by 是对结果集进行处理,即前面的语句运行完后,再对结果进行升序降序排列 /*==================================================================
2.聚合函数 查询计算*/
/*统计表中共有多少行数据 COUNT()函数*/
SELECT COUNT(*) AS '总数' FROM PRODUCT ;
# 查询表中不为空的数据有多少
SELECT COUNT(*) AS '总数' FROM PRODUCT WHERE SNAME IS NOT NULL; # 对表中的金额进行计算 SUM()函数
SELECT SUM(MONEY) FROM PRODUCT;
# 统计表中所有支出的金额
SELECT SUM(MONEY) FROM PRODUCT WHERE SNAME LIKE '%支出%';
# 统计列中最大的数据 max()函数
SELECT MAX(MONEY) FROM PRODUCT ;
# 统计表中的最小数据
SELECT MIN(MONEY) FROM PRODUCT;
# 计算一个列中所有数据的平均数
SELECT AVG(MONEY) FROM PRODUCT; /*=================================================================
3.分组查询*/
INSERT INTO PRODUCT (SNAME,MONEY) VALUES
('买烟支出',-50),
('工资收入',8000),
('吃饭支出',-50.4),
('吃饭支出',-20.6),
('打麻将收入',40);
SELECT * FROM PRODUCT;
/*查询所有数据
吃饭支出共计多少
打麻将收入共计多少
分组查询 group by 被分组的列名
必须跟随聚合函数
用法格式: SELECT 列名,列名 FROM 表名 WHERE 条件 GROUP BY 被分组的列名
注意,被分组的列要出现在选择列的后面*/
/*对所有的支出分组并降序排序*/
SELECT SUM(MONEY) AS 'SMONEY',SNAME FROM PRODUCT WHERE SNAME LIKE '%支出%'
GROUP BY SNAME ORDER BY SMONEY DESC;
/*结果集是分组后,要再次进行筛选,不能用where语句,分组后再次过滤,关键字having,即group by 后面不能跟where语句,如果要过滤用having语句*/
# 对上面结果再筛选,只要金额大于100的
SELECT SUM(MONEY) AS 'SMONEY',SNAME FROM PRODUCT WHERE SNAME LIKE '%支出%'
GROUP BY SNAME HAVING SMONEY<-100 ORDER BY SMONEY DESC;
# 因为支出为负数,所以用<-100来表示金额大于100 的;
Java学习笔记35(sql补充)的更多相关文章
- 【初学Java学习笔记】SQL语句调优
1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认 ...
- Java学习笔记35(异常)
代码在运行中发生的问题就是异常 java中把多种异常封装多个类,当程序出现问题时候,就会创建异常类对象并且抛出相关信息 异常体系: Throwable类是Java中所有错误或异常的父类 Throwab ...
- 【转】JAVA学习笔记----PL/SQL最差实践
1. 超长的PL/SQL代码 影响:可维护性,性能 症状: 在复杂的企业应用中,存在动辄成百上千行的存储过程或上万行的包.为什么是最差: 太长的PL/SQL代码不利于阅读,第三方工 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 20145330第九周《Java学习笔记》
20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...
- java学习笔记09--反射机制
java学习笔记09--反射机制 什么是反射: 反射是java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作.例如它允许一个java的类获取他所有的成员变量和方法并且显示出来 ...
- java学习笔记13--比较器(Comparable、Comparator)
java学习笔记13--比较器(Comparable.Comparator) 分类: JAVA 2013-05-20 23:20 3296人阅读 评论(0) 收藏 举报 Comparable接口的作用 ...
随机推荐
- [转载]Oracle创建用户、角色、授权、建表
出处:https://www.cnblogs.com/roger112/p/7685307.html oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system p ...
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 题目9 : Minimum
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You are given a list of integers a0, a1, …, a2^k-1. You need t ...
- Python Redis string
String操作,redis中的String在在内存中按照一个name对应一个value来存储.如图: set(name, value, ex=None, px=None, nx=False, xx= ...
- Python Mysql 交互
Mysql 安装Python模块 Linux: yum install MySQL-python Windos: http://files.cnblogs.com/files/wupeiqi/py ...
- 深入学习IOZone【转】
本文转载自:https://blog.csdn.net/werm520/article/details/7262103 深入学习IOZone 刘智朋 2011-3-29 1 ...
- Lintcode40-Implement Queue by Two Stacks-Medium
40. Implement Queue by Two Stacks As the title described, you should only use two stacks to implemen ...
- ios外包公司——技术分享:手机应用开发步骤
1. 确定你的创意 您的创意是否有人做过,如果有类似的app,那就要多多考虑,争取超越并且有一些独特的优化设计在其中 2. 定位应用 通过苹果的人机界面指南(Human Interface Guide ...
- Web开发中button与submit区别
submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了. 如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成butt ...
- 快速测试方法——JUnit
特点:写一个类,里面可以执行多个方法. 在一个方法上面添加@Test,选中方法名,右键run,即可执行当前方法 import org.junit.Test; //注:测试方法要求:不能有返回值,不能有 ...
- java常用类介绍
1 日期时间.Math.枚举 1.1 日期时间 计算机如何表示时间? GMT时间指格林尼治所在地的标准时间,也称为时间协调时(UTC),其他地区的时间都是相对于GMT时间的偏移. 北京位于东八区 = ...