更新時間:2020-04-22 12:47:48 來源:動力節(jié)點 瀏覽2330次
DQL查詢語句只是一種顯示數(shù)據(jù)的方式,因此不會對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修改。簡單來講,DQL查詢語句有以下四種查詢方法,分別是排序查詢、聚合函數(shù)、分組查詢和分頁查詢。今天要學(xué)習(xí)的Java基礎(chǔ)語法就是關(guān)于DQL查詢語句的四種查詢方式介紹,需要學(xué)習(xí)了解這方面知識點的小伙伴,一起來看看相關(guān)知識點的梳理吧!
1.排序查詢
(1)語法:orderby子句
orderby排序字段1排序方式1,排序字段2排序方式2...
(2)排序方式:
ASC:升序,默認(rèn)的。
DESC:降序。
注意:如果有多個排序條件,則當(dāng)前邊的條件值一樣時,才會判斷第二條件。
2、聚合函數(shù):將一列數(shù)據(jù)作為一個整體,進(jìn)行縱向的計算。
(1)count:計算個數(shù)。一般選擇非空的列:主鍵;count(*)。
(2)max:計算最大值
(3)min:計算最小值
(4)sum:計算和
(5)avg:計算平均值
注意:聚合函數(shù)的計算,排除null值。
解決方案:選擇不包含非空的列進(jìn)行計算;IFNULL函數(shù)。
3、分組查詢:
(1)語法:groupby分組字段;
(2)注意:分組之后查詢的字段:分組字段、聚合函數(shù)。
(3)where和having的區(qū)別?
where在分組之前進(jìn)行限定,如果不滿足條件,則不參與分組。having在分組之后進(jìn)行限定,如果不滿足結(jié)果,則不會被查詢出來;where后不可以跟聚合函數(shù),having可以進(jìn)行聚合函數(shù)的判斷。
--按照性別分組。分別查詢男、女同學(xué)的平均分
SELECTsex,AVG(math)FROMstudentGROUPBYsex;
--按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù)
SELECTsex,AVG(math),COUNT(id)FROMstudentGROUPBYsex;
--按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù)要求:分?jǐn)?shù)低于70分的人,不參與分組
SELECTsex,AVG(math),COUNT(id)FROMstudentWHEREmath>70GROUPBYsex;
--按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù)要求:分?jǐn)?shù)低于70分的人,不參與分組,分組之后。人數(shù)要大于2個人
SELECTsex,AVG(math),COUNT(id)FROMstudentWHEREmath>70GROUPBYsexHAVINGCOUNT(id)>2;
SELECTsex,AVG(math),COUNT(id)人數(shù)FROMstudentWHEREmath>70GROUPBYsexHAVING人數(shù)>2;
4、分頁查詢
(1)語法:limit開始的索引,每頁查詢的條數(shù);
(2)公式:開始的索引=(當(dāng)前的頁碼-1)*每頁顯示的條數(shù)
--每頁顯示3條記錄
SELECT*FROMstudentLIMIT0,3;--第1頁
SELECT*FROMstudentLIMIT3,3;--第2頁
SELECT*FROMstudentLIMIT6,3;--第3頁
(3)limit是一個MySQL"方言"
以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“自學(xué)java視頻,學(xué)習(xí)DQL查詢語句”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀