1. 程式人生 > >Java學習筆記35(sql補充)

Java學習筆記35(sql補充)

char count 最大的 clas 禮物 條件 == 小數 let

在上一篇裏,寫了數據庫的增刪該查,沒有寫完,這裏補充

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*/ # 對上面結果再篩選,只要金額大於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補充)