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接口的作用 ...
随机推荐
- springMVC学习之路2-文件上传
springMVC的上传文件方式一共有两种,下面听我简单介绍一下: 1.1 首先配置springAnnotation-servlet.xml,新增一个multipartResolver处理器,并定义默 ...
- the network could not establish the connection
为了方便建表等操作,我用sql developer 连接linux 底下的数据库,可连接时出现了这个问题the network could not establish the connection. ...
- dotnet core命令
dotnet run -----运行程序 dotnet publish -r centos-x64 -----发布程序 mkdri 文件名--->cd 文件名--->dotnet new ...
- P2365 任务安排 / [FJOI2019]batch(斜率优化dp)
P2365 任务安排 batch:$n<=10000$ 斜率优化入门题 $n^{3}$的dp轻松写出 但是枚举这个分成多少段很不方便 我们利用费用提前的思想,提前把这个烦人的$S$在后面的贡献先 ...
- WindowsAPI每日一练(2) 使用应用程序句柄
WindowsAPI每日一练系列 :https://www.cnblogs.com/LexMoon/category/1246238.html WindowsAPI每日一练() WinMain Win ...
- final修饰符与多态
知识点一.final 最终的可以修饰属性.方法.类1.final修饰的属性,表示常量,初始化以后值不能改变.final修饰引用数据类型的变量,引用地址不能改变.2.final修饰类,不能被继承.比如: ...
- MYSQL 修改表结构基本操作一览
查看表的字段信息:desc 表名; 查看表的所有信息:show create table 表名; 添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) ...
- 最短路径之Bellman-Ford——解决负权边
Bellman-Ford算法非常简单,核心代码四行,可以完美的解决带有负权边的图. for(k=1;k<=n-1;k++) //外循环循环n-1次,n为顶点个数 for(i=1;i<=m; ...
- Unicode UTF-8 UTF-16的关系
以下仅为个人学习的记录,如有疏漏不妥之处,还请不吝赐教. 关系 Unicode是一个字符集.顾名思义,字符的集合.GBK,BIG5,ISO8859-1,ASCII都是字符集. 有一点不同的是,Unic ...
- topcoder srm 590 div1 (max_flow_template)
problem1 link 对于每一个,找到其在目标串中的位置,判断能不能移动即可. problem2 link 如果最后的$limit$为$11=(1011)_{2}$,那么可以分别计算值为$(10 ...