溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL DQL查詢語句的四種查詢方法

發(fā)布時(shí)間:2020-05-30 11:28:26 來源:億速云 閱讀:207 作者:鴿子 欄目:編程語言

DQL查詢語句又叫數(shù)據(jù)庫查詢語句,這是Java學(xué)習(xí)者在學(xué)習(xí)MySQL時(shí),必須了解和掌握的知識點(diǎn)之一。眾所周知,DQL查詢語句有四種查詢方式:排序查詢、聚合函數(shù)、分組查詢和分頁查詢。下面讓我們一一仔細(xì)梳理這四種查詢方式,有需要學(xué)習(xí)的小伙伴趕緊來看看MySQL學(xué)習(xí)總結(jié)之DQL查詢語句的知識點(diǎn)吧!

  

1、排序查詢

 

1)語法:order by 子句

 

order by 排序字段1 排序方式1 ,  排序字段2 排序方式2...

 

2)排序方式:

 

ASC:升序,默認(rèn)的。

 

DESC:降序。

 

3)注意:

 

如果有多個(gè)排序條件,則當(dāng)前邊的條件值一樣時(shí),才會判斷第二條件。

 

2、聚合函數(shù):將一列數(shù)據(jù)作為一個(gè)整體,進(jìn)行縱向的計(jì)算。

 

1count:計(jì)算個(gè)數(shù)

 

一般選擇非空的列:主鍵

 

count(*)

 

2max:計(jì)算最大值

 

3min:計(jì)算最小值

 

4sum:計(jì)算和

 

5avg:計(jì)算平均值

 

注意:聚合函數(shù)的計(jì)算,排除null值。

 

解決方案:選擇不包含非空的列進(jìn)行計(jì)算;IFNULL函數(shù)。

 

3、分組查詢:

 

1)語法:group by 分組字段。

 

2)注意:分組之后查詢的字段:分組字段、聚合函數(shù)

 

(3)where having 的區(qū)別?

 

where 在分組之前進(jìn)行限定,如果不滿足條件,則不參與分組。having在分組之后進(jìn)行限定,如果不滿足結(jié)果,則不會被查詢出來;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. 分頁查詢

 

(1)語法:limit 開始的索引,每頁查詢的條數(shù);

 

(2)公式:開始的索引 = (當(dāng)前的頁碼 - 1 * 每頁顯示的條數(shù)

 

-- 每頁顯示3條記錄

 

SELECT * FROM student LIMIT 0,3; -- 1

 

SELECT * FROM student LIMIT 3,3; -- 2

 

SELECT * FROM student LIMIT 6,3; -- 3

 

(3)limit 是一個(gè)MySQL"方言"

 

關(guān)于MySQL學(xué)習(xí)總結(jié)之DQL查詢語句的內(nèi)容就講到這里了,相信大家對于四種查詢方式已經(jīng)了解的差不多了。要想學(xué)習(xí)了解更多MySQL相關(guān)的知識點(diǎn),可以上億速云進(jìn)行Java課程的試聽體驗(yàn),相信一定不會讓大家失望。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI