Java學習筆記35(sql補充)
阿新 • • 發佈:2019-03-29
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補充)