眾所周知,DQL查詢(xún)語(yǔ)句有四種查詢(xún)方式:排序查詢(xún)、聚合函數(shù)、分組查詢(xún)和分頁(yè)查詢(xún)。下面讓我們一一仔細(xì)梳理這四種查詢(xún)方式,有需要學(xué)習(xí)的小伙伴趕緊來(lái)看看MySQL學(xué)習(xí)總結(jié)之DQL查詢(xún)語(yǔ)句的知識(shí)點(diǎn)吧!
DQL查詢(xún)語(yǔ)句
1、排序查詢(xún)
(1)語(yǔ)法:orderby子句
orderby排序字段1排序方式1,排序字段2排序方式2...
(2)排序方式:
ASC:升序,默認(rèn)的。
DESC:降序。
(3)注意:
如果有多個(gè)排序條件,則當(dāng)前邊的條件值一樣時(shí),才會(huì)判斷第二條件。
2、聚合函數(shù):將一列數(shù)據(jù)作為一個(gè)整體,進(jìn)行縱向的計(jì)算。
(1)count:計(jì)算個(gè)數(shù)
一般選擇非空的列:主鍵
count(*)
(2)max:計(jì)算最大值
(3)min:計(jì)算最小值
(4)sum:計(jì)算和
(5)avg:計(jì)算平均值
注意:聚合函數(shù)的計(jì)算,排除null值。
解決方案:選擇不包含非空的列進(jìn)行計(jì)算;IFNULL函數(shù)。
3、分組查詢(xún):
(1)語(yǔ)法:groupby分組字段。
(2)注意:分組之后查詢(xún)的字段:分組字段、聚合函數(shù)
(3)where和having的區(qū)別?
where在分組之前進(jìn)行限定,如果不滿足條件,則不參與分組。having在分組之后進(jìn)行限定,如果不滿足結(jié)果,則不會(huì)被查詢(xún)出來(lái);where后不可以跟聚合函數(shù),having可以進(jìn)行聚合函數(shù)的判斷。
--按照性別分組。分別查詢(xún)男、女同學(xué)的平均分
SELECtsex,AVG(math)FROMstudentGROUPBYsex;
--按照性別分組。分別查詢(xún)男、女同學(xué)的平均分,人數(shù)
SELECtsex,AVG(math),COUNT(id)FROMstudentGROUPBYsex;
--按照性別分組。分別查詢(xún)男、女同學(xué)的平均分,人數(shù)要求:分?jǐn)?shù)低于70分的人,不參與分組
SELECtsex,AVG(math),COUNT(id)FROMstudentWHERemath>70GROUPBYsex;
--按照性別分組。分別查詢(xún)男、女同學(xué)的平均分,人數(shù)要求:分?jǐn)?shù)低于70分的人,不參與分組,分組之后。人數(shù)要大于2個(gè)人。
SELECtsex,AVG(math),COUNT(id)FROMstudentWHERemath>70GROUPBYsexHAVINgCOUNT(id)>2;
SELECtsex,AVG(math),COUNT(id)人數(shù)FROMstudentWHERemath>70GROUPBYsexHAVINg人數(shù)>2;
4.分頁(yè)查詢(xún)
(1)語(yǔ)法:limit開(kāi)始的索引,每頁(yè)查詢(xún)的條數(shù);
(2)公式:開(kāi)始的索引=(當(dāng)前的頁(yè)碼-1)*每頁(yè)顯示的條數(shù)
--每頁(yè)顯示3條記錄
SELECt*FROMstudentLIMIT0,3;--第1頁(yè)
SELECt*FROMstudentLIMIT3,3;--第2頁(yè)
SELECt*FROMstudentLIMIT6,3;--第3頁(yè)
(3)limit是一個(gè)MySQL"方言"
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“DQL查詢(xún)語(yǔ)句,Java數(shù)據(jù)庫(kù)編程視頻教程下載”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
Java數(shù)據(jù)庫(kù)免費(fèi)視頻教程
老杜最新JDBC教程:http://www.bjpowernode.com/javavideo/112.html
老杜最新MySQL教程:http://www.bjpowernode.com/javavideo/111.html