DQL查詢語(yǔ)句又叫數(shù)據(jù)庫(kù)查詢語(yǔ)句,這是Java學(xué)習(xí)者在學(xué)習(xí)MySQL時(shí),必須了解和掌握的知識(shí)點(diǎn)之一。眾所周知,DQL查詢語(yǔ)句有四種查詢方式:排序查詢、聚合函數(shù)、分組查詢和分頁(yè)查詢。下面讓我們一一仔細(xì)梳理這四種查詢方式,有需要學(xué)習(xí)的小伙伴趕緊來(lái)看看MySQL學(xué)習(xí)總結(jié)之DQL查詢語(yǔ)句的知識(shí)點(diǎn)吧!
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)上街,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
1、排序查詢
(1)語(yǔ)法:order by子句
order by排序字段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、分組查詢:
(1)語(yǔ)法:group by分組字段。
(2)注意:分組之后查詢的字段:分組字段、聚合函數(shù)
(3)where和 having的區(qū)別?
where在分組之前進(jìn)行限定,如果不滿足條件,則不參與分組。having在分組之后進(jìn)行限定,如果不滿足結(jié)果,則不會(huì)被查詢出來(lái);where后不可以跟聚合函數(shù),having可以進(jìn)行聚合函數(shù)的判斷。
--按照性別分組。分別查詢男、女同學(xué)的平均分
SELECT sex , AVG(math) FROM student GROUP BY sex;
--按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù)
SELECT sex , AVG(math),COUNT(id) FROM student GROUP BY sex;
-- 按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù) 要求:分?jǐn)?shù)低于70分的人,不參與分組
SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex;
-- 按照性別分組。分別查詢男、女同學(xué)的平均分,人數(shù) 要求:分?jǐn)?shù)低于70分的人,不參與分組,分組之后。人數(shù)要大于2個(gè)人。
SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;
SELECT sex , AVG(math),COUNT(id)人數(shù) FROM student WHERE math > 70 GROUP BY sex HAVING人數(shù) > 2;
4.分頁(yè)查詢
(1)語(yǔ)法:limit開(kāi)始的索引,每頁(yè)查詢的條數(shù);
(2)公式:開(kāi)始的索引 =(當(dāng)前的頁(yè)碼 - 1) *每頁(yè)顯示的條數(shù)
--每頁(yè)顯示3條記錄
SELECT * FROM student LIMIT 0,3; --第1頁(yè)
SELECT * FROM student LIMIT 3,3; --第2頁(yè)
SELECT * FROM student LIMIT 6,3; --第3頁(yè)
(3)limit是一個(gè)MySQL"方言"
關(guān)于MySQL學(xué)習(xí)總結(jié)之DQL查詢語(yǔ)句的內(nèi)容就講到這里了,相信大家對(duì)于四種查詢方式已經(jīng)了解的差不多了。要想學(xué)習(xí)了解更多MySQL相關(guān)的知識(shí)點(diǎn),可以上創(chuàng)新互聯(lián)進(jìn)行Java課程的試聽(tīng)體驗(yàn),相信一定不會(huì)讓大家失望。